time="2025-02-04T22:19:19Z" 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-federation-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authentication-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-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"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-02-04T22:19:48Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:39666","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-02-04T22:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:39666","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.574754,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:19:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1738707589.280872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1738707589.2809358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1738707589.2809453} 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":1738707589.2809658} 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":1738707589.2809777} 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":1738707589.2810128,"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":1738707589.2814367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1738707589.2825308} 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:59906","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-02-04T22:19:49.296210426Z","id":"01JK9GRP5GZSP39XDCDH15CG7S","name":"crosslab","updated_at":"2025-02-04T22:19:49.296210426Z"},"request_id":"3bb37aef-8b59-483b-8e42-39fef439bbca","subsystem":"openfga","timestamp":1738707589.2962904} 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:59906","raw_request":{"schema_version":"1.1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JK9GRP6F4XN3SSPGRGQE6S0Q"},"request_id":"06fbbd34-c33d-41cf-9b26-1333aebf7079","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707589.327352} authorization-1 | {"client_addr":"127.0.0.1:39666","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-02-04T22:19:49Z"} authorization-1 | {"client_addr":"127.0.0.1:39666","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.239686,"resp_status":204,"subsystem":"opa","time":"2025-02-04T22:19:49Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.1.0/opa_linux_amd64","latest_version":"1.1.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.1.0","subsystem":"opa","time":"2025-02-04T22:19:49Z"} gateway-1 | {"time_local":"04/Feb/2025:22:19:53 +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.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2ac102382d18f60eb5a57677a0fb15a4"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 11ms","method":"HEAD","requestID":"2ac102382d18f60eb5a57677a0fb15a4","responseTime":11,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"04/Feb/2025:22:19:53 +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.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1b3e342bdfb53fc50a7f70f918adad40"} device-1 | {"level":"info","message":"HEAD /device/status 200 8ms","method":"HEAD","requestID":"2827d650-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"04/Feb/2025:22:19:53 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"3eb759d7ff7198d4ec12aea6118b06bb"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 7ms","method":"HEAD","requestID":"3eb759d7ff7198d4ec12aea6118b06bb","responseTime":7,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"04/Feb/2025:22:19:53 +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.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"61841cbbd951ddd6e4fb7bb227a1ce92"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 8ms","method":"HEAD","requestID":"282d5490-e346-11ef-99f9-3bb63957f152","responseTime":8,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"04/Feb/2025:22:19:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"2b796a27451776061176deaa58fce20e"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 8ms","method":"HEAD","requestID":"283088e0-e346-11ef-bc1a-f57e530bcce7","responseTime":8,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"04/Feb/2025:22:19:57 +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":"6e1a42d63b9ef1880f81d57cfcd8dcae"} authentication-1 | {"level":"info","message":"POST /login 201 163ms","method":"POST","requestID":"6e1a42d63b9ef1880f81d57cfcd8dcae","responseTime":163,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzU5N30.vOIO_lzkOiU4uKfRTOH-5kQlyINpXq7alPyQYuVvVTU","level":"info","message":"auth send jwt","requestID":"3d73fab5fe0db8ec04cc10651c573d9b"} authentication-1 | {"level":"info","message":"GET /auth 200 19ms","method":"GET","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":19,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3d73fab5fe0db8ec04cc10651c573d9b"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:19:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.116247,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:19:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d73fab5fe0db8ec04cc10651c573d9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707597,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzU5N30.vOIO_lzkOiU4uKfRTOH-5kQlyINpXq7alPyQYuVvVTU"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2eb1bffd-4221-4c1a-8e94-b207d96e6a25","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.5866377} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a25b270-2e9a-47d2-98c5-f7c62e2f09ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.6079779} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"437ebe3b-c17c-4055-b6ca-73842afd1a69","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.6328108} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"474d4c5c-70a0-407b-ae1b-97d9be829fac","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.6354976} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.632744071Z"}]},"request_id":"4c825704-e1d9-4e12-809b-57ac428127db","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.6489453} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3d73fab5fe0db8ec04cc10651c573d9b"} gateway-1 | {"time_local":"04/Feb/2025:22:19: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.271","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d73fab5fe0db8ec04cc10651c573d9b"} device-1 | {"level":"info","message":"POST /devices? 201 230ms","method":"POST","requestID":"3d73fab5fe0db8ec04cc10651c573d9b","responseTime":230,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzU5N30.vOIO_lzkOiU4uKfRTOH-5kQlyINpXq7alPyQYuVvVTU","level":"info","message":"auth send jwt","requestID":"5da37539dd969a29cbc675613b3d9590"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5da37539dd969a29cbc675613b3d9590","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5da37539dd969a29cbc675613b3d9590"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:19:57Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.084433,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:19:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5da37539dd969a29cbc675613b3d9590","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707597,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzU5N30.vOIO_lzkOiU4uKfRTOH-5kQlyINpXq7alPyQYuVvVTU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58ee9fbb-ee49-499e-b7b4-40d52ce426a4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.7357194} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"212e66e1-3ad1-45fa-9e89-3eaaaa1e64fa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.7482533} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"36c12f59-f02b-4d6c-8312-f70258ff939b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.7628524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e64cbc10-a1eb-42dc-9c1f-becfb0180559","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.7631629} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.762828794Z"}]},"request_id":"52b65fd8-74e1-443b-b7de-d865db9d0956","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707597.7754023} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5da37539dd969a29cbc675613b3d9590"} gateway-1 | {"time_local":"04/Feb/2025:22:19: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.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5da37539dd969a29cbc675613b3d9590"} device-1 | {"level":"info","message":"POST /devices? 201 72ms","method":"POST","requestID":"5da37539dd969a29cbc675613b3d9590","responseTime":72,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5192a57b8dafa522d3e5771c02715f82","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5192a57b8dafa522d3e5771c02715f82","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"714ca368b13c49f1f905a2790059ca2e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"714ca368b13c49f1f905a2790059ca2e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/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":"5192a57b8dafa522d3e5771c02715f82"} device-1 | {"level":"info","message":"OPTIONS /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/websocket 200 2ms","method":"OPTIONS","requestID":"5192a57b8dafa522d3e5771c02715f82","responseTime":2,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/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":"714ca368b13c49f1f905a2790059ca2e"} device-1 | {"level":"info","message":"OPTIONS /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/websocket 200 1ms","method":"OPTIONS","requestID":"714ca368b13c49f1f905a2790059ca2e","responseTime":1,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"b34c758d69e7445006192c245527339f"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"b34c758d69e7445006192c245527339f","responseTime":11,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"10c16768c6ee87d47ca7d9e185a2651d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b34c758d69e7445006192c245527339f"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"10c16768c6ee87d47ca7d9e185a2651d","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"10c16768c6ee87d47ca7d9e185a2651d"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763861,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b34c758d69e7445006192c245527339f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"b34c758d69e7445006192c245527339f","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.545451,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"10c16768c6ee87d47ca7d9e185a2651d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"10c16768c6ee87d47ca7d9e185a2651d","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"10c16768c6ee87d47ca7d9e185a2651d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.056","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"10c16768c6ee87d47ca7d9e185a2651d"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/websocket 200 41ms","method":"POST","requestID":"10c16768c6ee87d47ca7d9e185a2651d","responseTime":41,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b34c758d69e7445006192c245527339f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.072","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b34c758d69e7445006192c245527339f"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/websocket 200 59ms","method":"POST","requestID":"b34c758d69e7445006192c245527339f","responseTime":59,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"a3d775351b2f43ed66101d5d0b141b63"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"a3d775351b2f43ed66101d5d0b141b63","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3d775351b2f43ed66101d5d0b141b63"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343962,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a3d775351b2f43ed66101d5d0b141b63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a3d775351b2f43ed66101d5d0b141b63","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.632744071Z"}]},"request_id":"3cdec1e8-c698-4cb8-ad37-199eff32136d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.1655552} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a3d775351b2f43ed66101d5d0b141b63","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3d775351b2f43ed66101d5d0b141b63"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? 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":"a3d775351b2f43ed66101d5d0b141b63"} device-1 | {"level":"info","message":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? 200 39ms","method":"GET","requestID":"a3d775351b2f43ed66101d5d0b141b63","responseTime":39,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"be46b9c86e67cbb917cea30980db9838"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be46b9c86e67cbb917cea30980db9838","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be46b9c86e67cbb917cea30980db9838"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294924,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"be46b9c86e67cbb917cea30980db9838","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"be46b9c86e67cbb917cea30980db9838","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.762828794Z"}]},"request_id":"fc6d8fa7-7f17-495c-9bcf-6c0c4451be07","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.2128336} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"be46b9c86e67cbb917cea30980db9838","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be46b9c86e67cbb917cea30980db9838"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be46b9c86e67cbb917cea30980db9838"} device-1 | {"level":"info","message":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? 200 24ms","method":"GET","requestID":"be46b9c86e67cbb917cea30980db9838","responseTime":24,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aafb80f8ea5c70ac75fcea7503021ab8","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.776405,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"aafb80f8ea5c70ac75fcea7503021ab8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"aafb80f8ea5c70ac75fcea7503021ab8","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to run experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to book experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully booked experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.348365,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.633262,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.632744071Z"}]},"request_id":"c874dcea-e575-4820-865f-49ccc7839ba8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.449619} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.762828794Z"}]},"request_id":"8f9d9cc6-4003-454c-a4ec-1c00c2a390ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.4514868} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? 200 30ms","method":"GET","requestID":"2c6cfa10-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? 200 30ms","method":"GET","requestID":"2c6d4830-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Setting up experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully set up experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.678839,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178173,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully running experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c864e70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fa7093f-f8d0-4fb3-820f-4f6f6d8d7350","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6163483} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.632744071Z"}]},"request_id":"0e370f32-3321-487f-8eb7-f183659c2681","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6176953} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.762828794Z"}]},"request_id":"0814285e-565d-41e8-8cef-0996b003cfca","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6203501} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.884917,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c864e70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","rebac_allow":false,"scope_allow":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":"2c864e70-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","method":"POST","requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c5865f2-9b97-453d-b518-b195966e93c9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c5865f2-9b97-453d-b518-b195966e93c9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1fd75654-9f71-4d09-a118-e106f37bd691","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6295369} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c864e70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling 200 40ms","method":"POST","requestID":"2c864e70-e346-11ef-bee8-fdb657b9cb09","responseTime":40,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb2bd5f1-6162-41af-ad1e-b844dfa19cad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6380837} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"aafb80f8ea5c70ac75fcea7503021ab8","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? 200 50ms","method":"GET","requestID":"2c853d00-e346-11ef-bee8-fdb657b9cb09","responseTime":50,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? 200 51ms","method":"GET","requestID":"2c85b230-e346-11ef-bee8-fdb657b9cb09","responseTime":51,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c8da170-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10a1c38b-bd41-4989-979a-885a755730a3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6564248} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.663527,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c8da170-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","rebac_allow":false,"scope_allow":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":"2c8da170-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c8f7630-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c8da170-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling 200 18ms","method":"POST","requestID":"2c8da170-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7f07dea-56a4-4279-b0f3-f99b3157e039","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6659474} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.174144,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c8f7630-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","rebac_allow":false,"scope_allow":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":"2c8f7630-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c8f7630-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling 200 12ms","method":"POST","requestID":"2c8f7630-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 416ms","method":"POST","requestID":"aafb80f8ea5c70ac75fcea7503021ab8","responseTime":416,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.444","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2c92f8a0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"238d90ad7d4c63025a79b7dca45e2792"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"238d90ad7d4c63025a79b7dca45e2792","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"238d90ad7d4c63025a79b7dca45e2792"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae175d7a-55fc-4f91-9785-90c2ad93519f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.688268} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.036324,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c92f8a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2c92f8a0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.196158,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2c92f8a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling 200 12ms","method":"POST","requestID":"2c92f8a0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"238d90ad7d4c63025a79b7dca45e2792","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"238d90ad7d4c63025a79b7dca45e2792","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Building connection plan","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a4838657-2f5b-452e-aea7-355a042f8bfc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ca0485e1-7c83-4549-bc2f-32de8c978bff"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7da83739-cf3f-4d2c-bb28-7ef7dad650a6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.632744071Z"}]},"request_id":"36d52494-64de-4bd5-a2b9-7040b71df3c0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.6998975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"238d90ad7d4c63025a79b7dca45e2792","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.776982,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"238d90ad7d4c63025a79b7dca45e2792"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"238d90ad7d4c63025a79b7dca45e2792"} device-1 | {"level":"info","message":"GET /devices/701dac2b-fccb-489c-b80d-34a5c5a683df? 200 21ms","method":"GET","requestID":"238d90ad7d4c63025a79b7dca45e2792","responseTime":21,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"67d7d52c9c0aff0951b76955cc5a32f8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67d7d52c9c0aff0951b76955cc5a32f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67d7d52c9c0aff0951b76955cc5a32f8"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701616,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67d7d52c9c0aff0951b76955cc5a32f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67d7d52c9c0aff0951b76955cc5a32f8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:19:57.762828794Z"}]},"request_id":"f3fd1385-b368-446c-b01c-7d9f1bec4cd2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.723102} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67d7d52c9c0aff0951b76955cc5a32f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67d7d52c9c0aff0951b76955cc5a32f8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? 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":"67d7d52c9c0aff0951b76955cc5a32f8"} device-1 | {"level":"info","message":"GET /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d? 200 14ms","method":"GET","requestID":"67d7d52c9c0aff0951b76955cc5a32f8","responseTime":14,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"6551c827-9690-4921-9458-74f693dcf9e7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.7424533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fa2b589-9710-4421-a990-af878742d7cb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.7426758} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09","responseTime":31,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed'","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed'","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 58ms","method":"POST","requestID":"2c9605e0-e346-11ef-bee8-fdb657b9cb09","responseTime":58,"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":"2c9605e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","device":"701dac2b-fccb-489c-b80d-34a5c5a683df","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","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","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/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"aafb80f8ea5c70ac75fcea7503021ab8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2ca484d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6441df61-7289-4f90-8c5f-cd6e4a2a9983","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.8032022} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900457,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2ca484d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2ca484d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2ca484d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling 200 12ms","method":"POST","requestID":"2ca484d0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2ca6cec0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 8388179597263525136 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:JzUA\r\na=ice-pwd:S0/5FTI4D8qHHIajeBb+AJHh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BE:23:E3:ED:6F:75:9E:92:74:95:27:A3:7E:B9:85:13:0E:C8:CD:C5:C9:94:C0:1C:E5:4E:C5:29:C6:D7:48:DD\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e67e9edf-8e38-4f48-bd5f-b25590043d27","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.8179564} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.099748,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2ca6cec0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2ca6cec0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2ca6cec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling 200 11ms","method":"POST","requestID":"2ca6cec0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 2242838804842614969 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:I9kk\r\na=ice-pwd:LnvV2W7uU+c09/AdiVbIcvjX\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9B:51:DA:DF:55:51:F3:06:17:9D:29:63:C7:B4:9A:40:4A:EC:F5:21:C6:7F:FA:0D:2F:E3:B5:5F:2D:98:DD:03\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3742836390 1 udp 2113937151 2b97c1d7-6334-40f9-af8d-439634da530a.local 37315 typ host generation 0 ufrag I9kk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","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/701dac2b-fccb-489c-b80d-34a5c5a683df'"} device-1 | {"content":{"candidate":"candidate:3612306785 1 udp 1677729535 141.24.211.56 37315 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag I9kk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","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/701dac2b-fccb-489c-b80d-34a5c5a683df'"} device-1 | {"content":{"candidate":"candidate:4154473275 1 udp 2113937151 c8559638-d3a4-4b6d-88a7-90a70d9332d5.local 45682 typ host generation 0 ufrag JzUA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4071109731 1 udp 1677729535 141.24.211.56 45682 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag JzUA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","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/e386c4ba-ec47-4620-b2d0-60c9f66a165d'"} device-1 | {"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","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/48283996-6b87-4d8f-868f-287662d221ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6dc9e24450e7b0f24d3d87a033dcc6bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6dc9e24450e7b0f24d3d87a033dcc6bf","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/701dac2b-fccb-489c-b80d-34a5c5a683df"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"}}},"level":"info","message":"received a callback","requestID":"6dc9e24450e7b0f24d3d87a033dcc6bf"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"6dc9e24450e7b0f24d3d87a033dcc6bf","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"6dc9e24450e7b0f24d3d87a033dcc6bf"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","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/48283996-6b87-4d8f-868f-287662d221ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"74eb3296e6598db75b65eca997a01eb9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"74eb3296e6598db75b65eca997a01eb9","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/701dac2b-fccb-489c-b80d-34a5c5a683df"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"}}},"level":"info","message":"received a callback","requestID":"74eb3296e6598db75b65eca997a01eb9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2cb4d880-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48283996-6b87-4d8f-868f-287662d221ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da8ca597-0977-42df-9dce-f43666be9830","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.9093409} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.607038,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cb4d880-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","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":"2cb4d880-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2cb4d880-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/48283996-6b87-4d8f-868f-287662d221ed 200 11ms","method":"GET","requestID":"2cb4d880-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"74eb3296e6598db75b65eca997a01eb9","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"74eb3296e6598db75b65eca997a01eb9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2cb91e40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0624538b-d572-4a9d-9a8f-ded7a15317b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.9375846} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.698614,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cb91e40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2cb91e40-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2cb91e40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling 200 11ms","method":"POST","requestID":"2cb91e40-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2cbb1a10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08221faf-046c-400e-918f-cb1e546cd87b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707600.9498985} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.822922,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cbb1a10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2cbb1a10-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"465102702b73c033b5d856893a5c0c86"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"465102702b73c033b5d856893a5c0c86","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2cbb1a10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling 200 10ms","method":"POST","requestID":"2cbb1a10-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3c5865f2-9b97-453d-b518-b195966e93c9","requestID":"465102702b73c033b5d856893a5c0c86"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.617651,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"465102702b73c033b5d856893a5c0c86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"465102702b73c033b5d856893a5c0c86","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3c5865f2-9b97-453d-b518-b195966e93c9","requestID":"465102702b73c033b5d856893a5c0c86"} gateway-1 | {"time_local":"04/Feb/2025:22:20:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3c5865f2-9b97-453d-b518-b195966e93c9 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"465102702b73c033b5d856893a5c0c86"} experiment-1 | {"level":"info","message":"GET /experiments/3c5865f2-9b97-453d-b518-b195966e93c9 200 15ms","method":"GET","requestID":"465102702b73c033b5d856893a5c0c86","responseTime":15,"status":200,"url":"/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE","level":"info","message":"auth send jwt","requestID":"c0ea9ad459a221093f470bbe92904fc6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0ea9ad459a221093f470bbe92904fc6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3c5865f2-9b97-453d-b518-b195966e93c9","requestID":"c0ea9ad459a221093f470bbe92904fc6"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.659625,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c0ea9ad459a221093f470bbe92904fc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0ea9ad459a221093f470bbe92904fc6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Attempting to finish experiment","requestID":"c0ea9ad459a221093f470bbe92904fc6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.727276,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707600,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMH0.vVukOfv207bF_KShR3xVnht9QD0B-G5r0qJ3pDLZgpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","device":"701dac2b-fccb-489c-b80d-34a5c5a683df","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed","device":"e386c4ba-ec47-4620-b2d0-60c9f66a165d","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/48283996-6b87-4d8f-868f-287662d221ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ae733bfba1ac6e48968d7d71af2a9ea7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae733bfba1ac6e48968d7d71af2a9ea7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2ee0b03abdcf58b95782afabac7967ca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/701dac2b-fccb-489c-b80d-34a5c5a683df"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"}}},"level":"info","message":"received a callback","requestID":"ae733bfba1ac6e48968d7d71af2a9ea7"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2ee0b03abdcf58b95782afabac7967ca","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"}}},"level":"info","message":"received a callback","requestID":"2ee0b03abdcf58b95782afabac7967ca"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48283996-6b87-4d8f-868f-287662d221ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48283996-6b87-4d8f-868f-287662d221ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"68f03d7d-6b73-4f6d-a714-0ec91db43c4f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.0181212} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"600fe0c6-bef0-41d1-a35b-2b66bab3a0d9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.0182936} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"48283996-6b87-4d8f-868f-287662d221ed","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/48283996-6b87-4d8f-868f-287662d221ed 204 61ms","method":"DELETE","requestID":"2cc1f7e0-e346-11ef-bee8-fdb657b9cb09","responseTime":61,"status":204,"url":"/peerconnections/48283996-6b87-4d8f-868f-287662d221ed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"},"level":"info","message":"Successfully finished experiment","requestID":"c0ea9ad459a221093f470bbe92904fc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2cce7b00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F701dac2b-fccb-489c-b80d-34a5c5a683df","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e264146-d9a3-4acb-ba1f-e50241e22aa7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.0785065} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480837,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cce7b00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/701dac2b-fccb-489c-b80d-34a5c5a683df","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2cce7b00-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2cce7b00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling 200 12ms","method":"POST","requestID":"2cce7b00-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/701dac2b-fccb-489c-b80d-34a5c5a683df/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2cd09de0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c5865f2-9b97-453d-b518-b195966e93c9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c5865f2-9b97-453d-b518-b195966e93c9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"e1e8da41-fff5-4fdc-8971-b7ba319a7aba","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.0882094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ddf7b0e-0746-45ac-802c-53e42e3bc8c7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.0885406} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"c0ea9ad459a221093f470bbe92904fc6","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe386c4ba-ec47-4620-b2d0-60c9f66a165d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee6c362f-5ab5-4907-9036-a32f292e0d16","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.093163} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.055879,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2cd09de0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2cd09de0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2cd09de0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling 200 11ms","method":"POST","requestID":"2cd09de0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3c5865f2-9b97-453d-b518-b195966e93c9","requestID":"c0ea9ad459a221093f470bbe92904fc6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3c5865f2-9b97-453d-b518-b195966e93c9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0ea9ad459a221093f470bbe92904fc6"} experiment-1 | {"level":"info","message":"DELETE /experiments/3c5865f2-9b97-453d-b518-b195966e93c9 204 172ms","method":"DELETE","requestID":"c0ea9ad459a221093f470bbe92904fc6","responseTime":172,"status":204,"url":"/experiments/3c5865f2-9b97-453d-b518-b195966e93c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"ae733bfba1ac6e48968d7d71af2a9ea7","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae733bfba1ac6e48968d7d71af2a9ea7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60","level":"info","message":"auth send jwt","requestID":"b19f7af19016d27de172cc767084bbb3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"2ee0b03abdcf58b95782afabac7967ca","responseTime":145,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} gateway-1 | {"time_local":"04/Feb/2025:22: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ee0b03abdcf58b95782afabac7967ca"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b19f7af19016d27de172cc767084bbb3","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b19f7af19016d27de172cc767084bbb3"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c747e048f812c5c3230c1686ddf74336"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.063","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8f0f42b332f4e839595248ef985d1564"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.808216,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b19f7af19016d27de172cc767084bbb3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707601,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","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/701dac2b-fccb-489c-b80d-34a5c5a683df' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e386c4ba-ec47-4620-b2d0-60c9f66a165d' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4dcd07fa-b746-4f09-acf4-c0d852984d9f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.1848612} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f998a204-e03d-4ea7-abfe-d163230f437c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.1902883} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"43cc9490-0235-43d1-b1c4-25d7353315c4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2029326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5da0053e-d901-4401-b118-3da612379f0b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2031353} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.202921937Z"}]},"request_id":"a4f9550e-1f69-428e-84b7-b6cde674e68b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2077084} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b19f7af19016d27de172cc767084bbb3"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b19f7af19016d27de172cc767084bbb3"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"b19f7af19016d27de172cc767084bbb3","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60","level":"info","message":"auth send jwt","requestID":"66e64f92754cc555b6fa3d9b2d95550c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"66e64f92754cc555b6fa3d9b2d95550c"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"66e64f92754cc555b6fa3d9b2d95550c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707601,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"02fb1341-8c85-4c61-aab5-cb37c9842a99","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2350366} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63d906c8-8733-4b1c-9261-d527c7ca5cc2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.240168} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"b89afd56-a2c8-45d0-8631-0dcd58956437","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.251109} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7837e765-06d5-4d6c-a0c4-6e82b25e3943","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2511952} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"67f87787-6a44-4f5a-b9e0-69fbae3ffe68","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.2563882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"66e64f92754cc555b6fa3d9b2d95550c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66e64f92754cc555b6fa3d9b2d95550c"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"66e64f92754cc555b6fa3d9b2d95550c","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60","level":"info","message":"auth send jwt","requestID":"c72ac6fc930fee2df8c58fc5c8a14015"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c72ac6fc930fee2df8c58fc5c8a14015"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341835,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c72ac6fc930fee2df8c58fc5c8a14015","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707601,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"82c58dc7-70be-4c71-8bf2-95b36fd48619","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.7861238} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be08eaff-3678-4153-a738-5798455dce15","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.7945278} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"3e0e4d97-61b6-43d0-b050-223477857df0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707601.807483} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c72ac6fc930fee2df8c58fc5c8a14015"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/056c55ff-faee-487b-87fb-3ee4e6193993 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.063","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c72ac6fc930fee2df8c58fc5c8a14015"} device-1 | {"level":"info","message":"PATCH /devices/056c55ff-faee-487b-87fb-3ee4e6193993 200 56ms","method":"PATCH","requestID":"c72ac6fc930fee2df8c58fc5c8a14015","responseTime":56,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60","level":"info","message":"auth send jwt","requestID":"c5efbd543408f758b21d3c33a678c060"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5efbd543408f758b21d3c33a678c060","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c5efbd543408f758b21d3c33a678c060"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.248213,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c5efbd543408f758b21d3c33a678c060","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707601,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwMX0.2MBApQoFckRPo8YvVjbulbW14xFfa2IjAbXbK4G5D60"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5efbd543408f758b21d3c33a678c060","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c5efbd543408f758b21d3c33a678c060"} gateway-1 | {"time_local":"04/Feb/2025:22:20:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c5efbd543408f758b21d3c33a678c060"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/websocket 200 22ms","method":"POST","requestID":"c5efbd543408f758b21d3c33a678c060","responseTime":22,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6671d43a2bb808c011454aa460258f66","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6671d43a2bb808c011454aa460258f66","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2018b735-9509-4d27-b8cf-51e50f310082/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":"6671d43a2bb808c011454aa460258f66"} device-1 | {"level":"info","message":"OPTIONS /devices/2018b735-9509-4d27-b8cf-51e50f310082/websocket 200 2ms","method":"OPTIONS","requestID":"6671d43a2bb808c011454aa460258f66","responseTime":2,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.47928,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/websocket 200 54ms","method":"POST","requestID":"70aed3cd3b7d1f1a50ba50ce8265d13b","responseTime":54,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"f3fc96a02f77603107c59a50352ce371"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3fc96a02f77603107c59a50352ce371","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3fc96a02f77603107c59a50352ce371"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286007,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f3fc96a02f77603107c59a50352ce371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f3fc96a02f77603107c59a50352ce371","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.202921937Z"}]},"request_id":"353132b4-8772-4612-9529-ab32db4915f3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.3488579} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3fc96a02f77603107c59a50352ce371","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3fc96a02f77603107c59a50352ce371"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3fc96a02f77603107c59a50352ce371"} device-1 | {"level":"info","message":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? 200 21ms","method":"GET","requestID":"f3fc96a02f77603107c59a50352ce371","responseTime":21,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"3d2e75f81b4acb991df5901f9801d941"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d2e75f81b4acb991df5901f9801d941","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d2e75f81b4acb991df5901f9801d941"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d2e75f81b4acb991df5901f9801d941","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d2e75f81b4acb991df5901f9801d941","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"29534c26-7765-44e8-a537-f2997679ad07","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.376559} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3d2e75f81b4acb991df5901f9801d941","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d2e75f81b4acb991df5901f9801d941"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d2e75f81b4acb991df5901f9801d941"} device-1 | {"level":"info","message":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? 200 22ms","method":"GET","requestID":"3d2e75f81b4acb991df5901f9801d941","responseTime":22,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"34f29f5f110d9c378cc453baddd36d40"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"34f29f5f110d9c378cc453baddd36d40","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"34f29f5f110d9c378cc453baddd36d40"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.20898,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34f29f5f110d9c378cc453baddd36d40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"34f29f5f110d9c378cc453baddd36d40","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to run experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to book experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully booked experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.700644,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.952041,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.202921937Z"}]},"request_id":"2bdeac2d-3648-46fe-ad19-b6f94e7c2731","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.4683492} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"ae05d175-d606-4816-a806-8c48716afe53","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.471018} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? 200 28ms","method":"GET","requestID":"2e39cad0-e346-11ef-bee8-fdb657b9cb09","responseTime":28,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? 200 28ms","method":"GET","requestID":"2e3a18f0-e346-11ef-bee8-fdb657b9cb09","responseTime":28,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Setting up experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully locked booking for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to update booking for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully updated booking for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully set up experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e48bef0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.823309,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169015,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully running experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.202921937Z"}]},"request_id":"7d6dce10-005f-4bb2-88b9-681cba5e3fc0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.56034} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a30f47e9-1536-4077-859c-5e553a628c0f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.5605316} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"b4a31ba7-d1cb-412e-84af-5ec461201179","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.56378} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.368943,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e48bef0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","rebac_allow":false,"scope_allow":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":"2e48bef0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? 200 23ms","method":"GET","requestID":"2e47d490-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e48bef0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling 200 23ms","method":"POST","requestID":"2e48bef0-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? 200 28ms","method":"GET","requestID":"2e4822b0-e346-11ef-bee8-fdb657b9cb09","responseTime":28,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feba6350f-571a-4a42-9643-73745dd1e662#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feba6350f-571a-4a42-9643-73745dd1e662","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"0cbf3a5f-1858-4ccb-aecc-1461689566aa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.5756297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33ad0d37-11f5-4ab4-9818-308392636cd6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.5759923} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e4cb690-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"34f29f5f110d9c378cc453baddd36d40","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e4d52d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ad1c7f4-50dd-43e9-a93d-18536719fb02","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.5816305} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.878478,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e4cb690-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2e4cb690-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85972f5a-1a9b-4287-8460-29a90804b120","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.585957} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.134892,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"34f29f5f110d9c378cc453baddd36d40"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e4d52d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2e4d52d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"34f29f5f110d9c378cc453baddd36d40","responseTime":192,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e4cb690-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling 200 13ms","method":"POST","requestID":"2e4cb690-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e4d52d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling 200 11ms","method":"POST","requestID":"2e4d52d0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"d69906752800e87e12f1ea0790e661e0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d69906752800e87e12f1ea0790e661e0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d69906752800e87e12f1ea0790e661e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e4f75b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.389479,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d69906752800e87e12f1ea0790e661e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d69906752800e87e12f1ea0790e661e0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d168736c-7443-45b1-a6e4-f6da32fb0c56","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.5992093} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.565496,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e4f75b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2e4f75b0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.202921937Z"}]},"request_id":"3cbac82b-e87e-4843-841b-0bab35feb79b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6030817} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e4f75b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling 200 9ms","method":"POST","requestID":"2e4f75b0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d69906752800e87e12f1ea0790e661e0","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Building connection plan","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"25e84d4f-b2d0-45b5-a54a-80492ef84f4f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ee671a44-616b-4e4d-8aba-b859c547355c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"54af75e3-1e31-41e4-a823-648968176693"}]},"level":"info","message":"Built pairwise service configurations","requestID":"34f29f5f110d9c378cc453baddd36d40"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"34f29f5f110d9c378cc453baddd36d40"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d69906752800e87e12f1ea0790e661e0"} device-1 | {"level":"info","message":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? 200 16ms","method":"GET","requestID":"d69906752800e87e12f1ea0790e661e0","responseTime":16,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2018b735-9509-4d27-b8cf-51e50f310082? 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":"d69906752800e87e12f1ea0790e661e0"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.69413,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg","level":"info","message":"auth send jwt","requestID":"c1833f63b970b86513ca2fa3cc248de8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c1833f63b970b86513ca2fa3cc248de8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1833f63b970b86513ca2fa3cc248de8"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767707,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c1833f63b970b86513ca2fa3cc248de8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707603,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwM30.un3usrzzXYkIvXaXShIRJdlJL24vwJHr5T1wDiTThGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c1833f63b970b86513ca2fa3cc248de8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:01.251093554Z"}]},"request_id":"6133bea2-b0a8-4442-9b99-d03730355167","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6223912} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c1833f63b970b86513ca2fa3cc248de8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"227abf62-7237-4bf6-a648-4e0b63d6f551","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6238325} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65157e52-be03-4b4f-9fba-c2904585992e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6241233} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1833f63b970b86513ca2fa3cc248de8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? 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":"c1833f63b970b86513ca2fa3cc248de8"} device-1 | {"level":"info","message":"GET /devices/056c55ff-faee-487b-87fb-3ee4e6193993? 200 12ms","method":"GET","requestID":"c1833f63b970b86513ca2fa3cc248de8","responseTime":12,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34'","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34'","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"2e517180-e346-11ef-bee8-fdb657b9cb09","responseTime":41,"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":"2e517180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","device":"2018b735-9509-4d27-b8cf-51e50f310082","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/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"34f29f5f110d9c378cc453baddd36d40"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e5cbc20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f89ddfd5-84e3-4174-8fe7-8d5b7ba07ad4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6875417} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e5cbc20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2e5cbc20-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e5cbc20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling 200 11ms","method":"POST","requestID":"2e5cbc20-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e5eb7f0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef7a5a98-cbe0-42df-88ab-35fede0a7f3e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707603.6997433} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.369962,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2e5eb7f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2e5eb7f0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e5eb7f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling 200 8ms","method":"POST","requestID":"2e5eb7f0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling"} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6182614280015460451 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:pRQ1\r\na=ice-pwd:Ac+YU8PzayfvIsSKJtePWMVK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 57:6F:89:07:39:D3:90:9A:6C:4A:C7:B6:CE:64:3B:0C:AB:E8:BE:D0:8E:BD:9C:3C:C6:7A:06:79:FF:AD:2B:A7\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1825773427 1 udp 2113937151 1343d847-2d51-462c-9bf9-72684f408ef3.local 39855 typ host generation 0 ufrag pRQ1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:1775966251 1 udp 1677729535 141.24.211.56 39855 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag pRQ1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7baccf43ccfa5c6212c2922c6c133cb5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7baccf43ccfa5c6212c2922c6c133cb5","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/2018b735-9509-4d27-b8cf-51e50f310082"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"}}},"level":"info","message":"received a callback","requestID":"7baccf43ccfa5c6212c2922c6c133cb5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"7baccf43ccfa5c6212c2922c6c133cb5","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"7baccf43ccfa5c6212c2922c6c133cb5"} device-1 | {"data":{"peerconnection":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2018b735-9509-4d27-b8cf-51e50f310082","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/e5573000-ebc7-4c5a-9c68-313f84e28b34' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19d338b5605fc28d68aee8399c33aae3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"19d338b5605fc28d68aee8399c33aae3","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/2018b735-9509-4d27-b8cf-51e50f310082"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"}}},"level":"info","message":"received a callback","requestID":"19d338b5605fc28d68aee8399c33aae3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2f9c6810-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5573000-ebc7-4c5a-9c68-313f84e28b34","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa52ab96-f8ae-43c1-910b-811eedd364a2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.7830749} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.494547,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2f9c6810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2f9c6810-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2f9c6810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34 200 12ms","method":"GET","requestID":"2f9c6810-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"19d338b5605fc28d68aee8399c33aae3","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"19d338b5605fc28d68aee8399c33aae3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2fa14a10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"339ffe02-79a2-459f-8513-8f4b7e6bfb1c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.8153024} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2fa14a10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa14a10-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2fa14a10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling 200 14ms","method":"POST","requestID":"2fa14a10-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2fa3e220-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fab3cf4-f1ff-4910-815b-dd2eb8222170","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.8329134} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.960816,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2fa3e220-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa3e220-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2fa3e220-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling 200 13ms","method":"POST","requestID":"2fa3e220-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNX0.EuyFTRYjSO4Buom4tQUad6iTd8KkrL-IzhH3FYi-H1M","level":"info","message":"auth send jwt","requestID":"e8a201d80a6745e1973810672ccff3c2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e8a201d80a6745e1973810672ccff3c2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eba6350f-571a-4a42-9643-73745dd1e662","requestID":"e8a201d80a6745e1973810672ccff3c2"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.339398,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e8a201d80a6745e1973810672ccff3c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707605,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNX0.EuyFTRYjSO4Buom4tQUad6iTd8KkrL-IzhH3FYi-H1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8a201d80a6745e1973810672ccff3c2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eba6350f-571a-4a42-9643-73745dd1e662","requestID":"e8a201d80a6745e1973810672ccff3c2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eba6350f-571a-4a42-9643-73745dd1e662 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8a201d80a6745e1973810672ccff3c2"} experiment-1 | {"level":"info","message":"GET /experiments/eba6350f-571a-4a42-9643-73745dd1e662 200 15ms","method":"GET","requestID":"e8a201d80a6745e1973810672ccff3c2","responseTime":15,"status":200,"url":"/experiments/eba6350f-571a-4a42-9643-73745dd1e662"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNX0.EuyFTRYjSO4Buom4tQUad6iTd8KkrL-IzhH3FYi-H1M","level":"info","message":"auth send jwt","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5450b9326dee32eae4a8fbb76bd8b228","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eba6350f-571a-4a42-9643-73745dd1e662","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.229339,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5450b9326dee32eae4a8fbb76bd8b228","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707605,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNX0.EuyFTRYjSO4Buom4tQUad6iTd8KkrL-IzhH3FYi-H1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5450b9326dee32eae4a8fbb76bd8b228","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Attempting to finish experiment","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.241735,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707605,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNX0.EuyFTRYjSO4Buom4tQUad6iTd8KkrL-IzhH3FYi-H1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34","device":"2018b735-9509-4d27-b8cf-51e50f310082","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"056c55ff-faee-487b-87fb-3ee4e6193993","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/e5573000-ebc7-4c5a-9c68-313f84e28b34' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5573000-ebc7-4c5a-9c68-313f84e28b34","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5573000-ebc7-4c5a-9c68-313f84e28b34': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5573000-ebc7-4c5a-9c68-313f84e28b34","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"f2807d3a-9484-46b4-b514-2856b541cd29","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.9254284} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"735e9732-d28c-43f1-8fd9-7858580fff3b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.9257905} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"430af13913749d12ce0b155fbda642b7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"430af13913749d12ce0b155fbda642b7","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1999fbdd8d0479520dde94bb74c9bc5c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1999fbdd8d0479520dde94bb74c9bc5c","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/2018b735-9509-4d27-b8cf-51e50f310082"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"}}},"level":"info","message":"received a callback","requestID":"430af13913749d12ce0b155fbda642b7"} 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/2018b735-9509-4d27-b8cf-51e50f310082"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"}}},"level":"info","message":"received a callback","requestID":"1999fbdd8d0479520dde94bb74c9bc5c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34 204 59ms","method":"DELETE","requestID":"2faeb790-e346-11ef-bee8-fdb657b9cb09","responseTime":59,"status":204,"url":"/peerconnections/e5573000-ebc7-4c5a-9c68-313f84e28b34"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eba6350f-571a-4a42-9643-73745dd1e662"},"level":"info","message":"Successfully finished experiment","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2fbc2510-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2018b735-9509-4d27-b8cf-51e50f310082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c23ce327-e0e9-466f-b84a-c87352788c3b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707605.9923992} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.12069,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2fbc2510-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2018b735-9509-4d27-b8cf-51e50f310082","object_type":"device","rebac_allow":false,"scope_allow":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":"2fbc2510-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2fbc2510-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling 200 15ms","method":"POST","requestID":"2fbc2510-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/2018b735-9509-4d27-b8cf-51e50f310082/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feba6350f-571a-4a42-9643-73745dd1e662': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feba6350f-571a-4a42-9643-73745dd1e662","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"2c91033f-a772-4cfd-9971-b19fc6ed0437","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.0015755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f784800e-c953-455c-9331-52a133d4b2c1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.0029783} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2fbf3250-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"5450b9326dee32eae4a8fbb76bd8b228","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F056c55ff-faee-487b-87fb-3ee4e6193993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef5a2f65-b7ad-4aaa-86fb-5c75a0b69f17","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.01343} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.469859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2fbf3250-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993","object_type":"device","rebac_allow":false,"scope_allow":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":"2fbf3250-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2fbf3250-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling 200 16ms","method":"POST","requestID":"2fbf3250-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/056c55ff-faee-487b-87fb-3ee4e6193993/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eba6350f-571a-4a42-9643-73745dd1e662","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eba6350f-571a-4a42-9643-73745dd1e662 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5450b9326dee32eae4a8fbb76bd8b228"} experiment-1 | {"level":"info","message":"DELETE /experiments/eba6350f-571a-4a42-9643-73745dd1e662 204 190ms","method":"DELETE","requestID":"5450b9326dee32eae4a8fbb76bd8b228","responseTime":190,"status":204,"url":"/experiments/eba6350f-571a-4a42-9643-73745dd1e662"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.219","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e3a32652d0e44454ec0ba8f120129751"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"430af13913749d12ce0b155fbda642b7","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"430af13913749d12ce0b155fbda642b7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"1999fbdd8d0479520dde94bb74c9bc5c","responseTime":139,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY","level":"info","message":"auth send jwt","requestID":"84530889c68b2b50f576f29790dd633c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22: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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"1999fbdd8d0479520dde94bb74c9bc5c"} device-1 | {"level":"info","message":"postDevices called","requestID":"84530889c68b2b50f576f29790dd633c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.771","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5dde076bcf6e25f1bb1906f8f15971a2"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.003995,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"84530889c68b2b50f576f29790dd633c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707606,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/056c55ff-faee-487b-87fb-3ee4e6193993' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b3a0b36-c481-4a54-a0e4-f6eee37ca601","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.0975144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","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/2018b735-9509-4d27-b8cf-51e50f310082' 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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ed1f3b8-0837-40e1-82f9-5fd453707a33","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1035936} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"cd0acba0-3e7c-4dc5-9f04-c3c7348d3e0f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1162906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f07d60b4-2750-4ae3-827b-4aec7974fb52","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1163995} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"c59bb7a4-edf8-4e6f-84eb-20c32de4e5d6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.121911} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"84530889c68b2b50f576f29790dd633c"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84530889c68b2b50f576f29790dd633c"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"84530889c68b2b50f576f29790dd633c","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY","level":"info","message":"auth send jwt","requestID":"42637167ffc8c204aa0a686d16935bf1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42637167ffc8c204aa0a686d16935bf1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"42637167ffc8c204aa0a686d16935bf1"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752163,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42637167ffc8c204aa0a686d16935bf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707606,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"602fc7f1-b1c1-4fd3-a240-a1e9f9d7a1ab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.149004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"617abc4f-6fd8-443e-ab97-b7e61085ad40","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1545155} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"da56ac4f-c870-49e7-b526-0779b3afde51","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1653087} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d84044f5-f0c8-42a0-80dc-4389797f36b7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1654654} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.165296996Z"}]},"request_id":"bf0f5fcf-914f-49fc-b826-c83268d872ce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.1704667} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"42637167ffc8c204aa0a686d16935bf1"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"42637167ffc8c204aa0a686d16935bf1","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42637167ffc8c204aa0a686d16935bf1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY","level":"info","message":"auth send jwt","requestID":"c557371333aa2613389a8c1a4253d0ff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c557371333aa2613389a8c1a4253d0ff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c557371333aa2613389a8c1a4253d0ff"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980586,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c557371333aa2613389a8c1a4253d0ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707606,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c557371333aa2613389a8c1a4253d0ff","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"9d35de34-900b-4c53-aff0-0696e9f54e59","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.6440434} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c557371333aa2613389a8c1a4253d0ff","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6fb1edc-2a57-4972-a3a1-1c393a830647","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.6508994} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c557371333aa2613389a8c1a4253d0ff","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"6e86995d-a7cb-4be0-b33a-c4d39b293b2a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707606.6691} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c557371333aa2613389a8c1a4253d0ff","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c557371333aa2613389a8c1a4253d0ff"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4699c31-3cf0-436d-a166-99f9855da244 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c557371333aa2613389a8c1a4253d0ff"} device-1 | {"level":"info","message":"PATCH /devices/e4699c31-3cf0-436d-a166-99f9855da244 200 41ms","method":"PATCH","requestID":"c557371333aa2613389a8c1a4253d0ff","responseTime":41,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY","level":"info","message":"auth send jwt","requestID":"62d30bfd9787d6a6228b0a027896475f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62d30bfd9787d6a6228b0a027896475f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"62d30bfd9787d6a6228b0a027896475f"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084052,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62d30bfd9787d6a6228b0a027896475f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707606,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwNn0.etNknl93KBdAosofipHD1DXOyfQBHU0-vFtg1aLi3MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"62d30bfd9787d6a6228b0a027896475f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"62d30bfd9787d6a6228b0a027896475f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"62d30bfd9787d6a6228b0a027896475f"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/websocket 200 24ms","method":"POST","requestID":"62d30bfd9787d6a6228b0a027896475f","responseTime":24,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff3d247fdb0b5b17d25bf254a6d913a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ff3d247fdb0b5b17d25bf254a6d913a3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/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":"ff3d247fdb0b5b17d25bf254a6d913a3"} device-1 | {"level":"info","message":"OPTIONS /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/websocket 200 2ms","method":"OPTIONS","requestID":"ff3d247fdb0b5b17d25bf254a6d913a3","responseTime":2,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"eac93a70dae5f60711ea1e9672d0d306"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eac93a70dae5f60711ea1e9672d0d306","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eac93a70dae5f60711ea1e9672d0d306"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15231,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"eac93a70dae5f60711ea1e9672d0d306","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eac93a70dae5f60711ea1e9672d0d306","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eac93a70dae5f60711ea1e9672d0d306"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/websocket 200 33ms","method":"POST","requestID":"eac93a70dae5f60711ea1e9672d0d306","responseTime":33,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/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":"eac93a70dae5f60711ea1e9672d0d306"} device-1 | {"level":"info","message":"device 'http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"84d78c210bb70a84010487d517a457db"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"84d78c210bb70a84010487d517a457db","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"84d78c210bb70a84010487d517a457db"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180502,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"84d78c210bb70a84010487d517a457db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"84d78c210bb70a84010487d517a457db","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"ff92fe08-523b-4be4-9b74-b2e6ce77da06","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.267502} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"84d78c210bb70a84010487d517a457db","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"84d78c210bb70a84010487d517a457db"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84d78c210bb70a84010487d517a457db"} device-1 | {"level":"info","message":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? 200 18ms","method":"GET","requestID":"84d78c210bb70a84010487d517a457db","responseTime":18,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"1f11fdf210929490b5a42584be72bc8e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1f11fdf210929490b5a42584be72bc8e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f11fdf210929490b5a42584be72bc8e"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.366456,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1f11fdf210929490b5a42584be72bc8e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1f11fdf210929490b5a42584be72bc8e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.165296996Z"}]},"request_id":"cf48eea4-bc48-443e-a66e-c00bc9cedc99","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.2954288} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1f11fdf210929490b5a42584be72bc8e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f11fdf210929490b5a42584be72bc8e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f11fdf210929490b5a42584be72bc8e"} device-1 | {"level":"info","message":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? 200 22ms","method":"GET","requestID":"1f11fdf210929490b5a42584be72bc8e","responseTime":22,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"5ed9fa73b8148813f11a79758d9c9430"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ed9fa73b8148813f11a79758d9c9430","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5ed9fa73b8148813f11a79758d9c9430"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.280301,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5ed9fa73b8148813f11a79758d9c9430","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ed9fa73b8148813f11a79758d9c9430","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to run experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to book experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully booked experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"31283830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"31288650-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.303282,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31283830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"31283830-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.292956,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31288650-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"31288650-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"fb5882cf-7bc5-41d9-9b11-731e77eddcba","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.3845046} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"31283830-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.165296996Z"}]},"request_id":"c78ea160-faa3-4148-8223-f1da7b9ad573","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.3860106} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"31288650-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"31283830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? 200 23ms","method":"GET","requestID":"31283830-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"31288650-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? 200 24ms","method":"GET","requestID":"31288650-e346-11ef-bee8-fdb657b9cb09","responseTime":24,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Setting up experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully set up experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"31366900-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.920428,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully running experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.814,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e2f1320-a2bf-460f-b52c-c34a3d6e25f4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.475546} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.165296996Z"}]},"request_id":"8ac6d634-1421-4d01-9c79-e434569fbf5a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.479785} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.754574,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31366900-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"31366900-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"61d5c6c6-1db5-4f29-95f5-c7447982324a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.481404} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c943e33-64c6-41f5-897e-25c22e741752#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c943e33-64c6-41f5-897e-25c22e741752","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"6d73b461-8824-4a3e-8c61-7c7da0b04454","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.4882517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5a95475-8d3a-4f31-888b-9cba9d265464","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.4888043} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"31366900-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling 200 27ms","method":"POST","requestID":"31366900-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"5ed9fa73b8148813f11a79758d9c9430","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? 200 30ms","method":"GET","requestID":"31361ae0-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"313afce0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? 200 38ms","method":"GET","requestID":"3135a5b0-e346-11ef-bee8-fdb657b9cb09","responseTime":38,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244?"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6894bfaa-d607-42f3-bd3c-e1eea5ac04ce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5013502} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.915063,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"313c3560-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"313afce0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","rebac_allow":false,"scope_allow":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":"313afce0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5ed9fa73b8148813f11a79758d9c9430"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"level":"info","message":"POST /experiments? 201 193ms","method":"POST","requestID":"5ed9fa73b8148813f11a79758d9c9430","responseTime":193,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"313afce0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling 200 14ms","method":"POST","requestID":"313afce0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a162c4b-591f-4f4b-ab70-e67566272ffe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.509281} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.62777,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"313c3560-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","rebac_allow":false,"scope_allow":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":"313c3560-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"835af68e34d85ca413bee824d70b9800"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"835af68e34d85ca413bee824d70b9800","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"835af68e34d85ca413bee824d70b9800"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"313c3560-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling 200 15ms","method":"POST","requestID":"313c3560-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165575,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"835af68e34d85ca413bee824d70b9800","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"835af68e34d85ca413bee824d70b9800","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"313ef480-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37c7fa79-e270-490e-9b11-674f82a52423","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5252583} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.116278298Z"}]},"request_id":"db01fd8a-6212-495f-b206-9d355db92291","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5253274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"835af68e34d85ca413bee824d70b9800","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073396,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"313ef480-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"313ef480-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"835af68e34d85ca413bee824d70b9800"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"835af68e34d85ca413bee824d70b9800"} device-1 | {"level":"info","message":"GET /devices/e4699c31-3cf0-436d-a166-99f9855da244? 200 16ms","method":"GET","requestID":"835af68e34d85ca413bee824d70b9800","responseTime":16,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"313ef480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling 200 12ms","method":"POST","requestID":"313ef480-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Building connection plan","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5da08b6f-cdaf-4f90-8636-30744e76f007"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"fda30384-dae8-486e-b474-d15c8b69c2e6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"774f8bf0-4720-43ea-b0e1-912de1771416"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5ed9fa73b8148813f11a79758d9c9430"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5ed9fa73b8148813f11a79758d9c9430"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU","level":"info","message":"auth send jwt","requestID":"e8612762b5382c3db2894fb18e256753"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8612762b5382c3db2894fb18e256753","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8612762b5382c3db2894fb18e256753"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.818323,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900829,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e8612762b5382c3db2894fb18e256753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707608,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYwOH0.yHC4xIYWFTuKyYuPraY4Okbsoy8IyxDdNtq4dD6JLbU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8612762b5382c3db2894fb18e256753","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:06.165296996Z"}]},"request_id":"70cb2bd5-fab4-4d16-9b35-ea1f602b0713","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5484688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e8612762b5382c3db2894fb18e256753","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8612762b5382c3db2894fb18e256753"} gateway-1 | {"time_local":"04/Feb/2025:22:20:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? 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":"e8612762b5382c3db2894fb18e256753"} device-1 | {"level":"info","message":"GET /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7? 200 13ms","method":"GET","requestID":"e8612762b5382c3db2894fb18e256753","responseTime":13,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"be6c85fd-ed99-4d77-8011-5e6aa5e85623","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5556133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8841263-cf72-44db-93bf-f1ea37b6c666","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.5559754} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8'","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8'","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"31418c90-e346-11ef-bee8-fdb657b9cb09"} 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":"31418c90-e346-11ef-bee8-fdb657b9cb09","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":"31418c90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","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/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5ed9fa73b8148813f11a79758d9c9430"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"314f6f40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6461d8a8-a8e4-4091-8c47-46396c0b474b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.634752} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.815584,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"314f6f40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","rebac_allow":false,"scope_allow":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":"314f6f40-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"314f6f40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling 200 14ms","method":"POST","requestID":"314f6f40-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7311681677485247605 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:en8/\r\na=ice-pwd:Gl9RuoyRqtHVfJLLF6XX+gRQ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 66:B4:35:25:9B:26:9A:C1:59:F3:27:AE:AD:43:84:33:96:03:4B:00:DD:0C:9D:7C:38:01:BC:2B:60:67:82:3C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"31522e60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7'"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f4dc463-be72-4998-abc2-96ce8492894f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707608.650387} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538498,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"31522e60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"31522e60-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"31522e60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling 200 9ms","method":"POST","requestID":"31522e60-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling"} device-1 | {"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b0094c988144ef22de0cfe9fad8dc551","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b0094c988144ef22de0cfe9fad8dc551","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/e4699c31-3cf0-436d-a166-99f9855da244"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"}}},"level":"info","message":"received a callback","requestID":"b0094c988144ef22de0cfe9fad8dc551"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"b0094c988144ef22de0cfe9fad8dc551","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.022","http_referrer":"","http_user_agent":"node-fetch","requestID":"b0094c988144ef22de0cfe9fad8dc551"} device-1 | {"content":{"candidate":"candidate:3267237599 1 udp 2113937151 545cd8f6-42d7-4451-afb8-abf6ebaa9735.local 47093 typ host generation 0 ufrag en8/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3404094744 1 udp 1677729535 141.24.211.56 47093 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag en8/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1959454442 1 udp 33562623 141.24.210.113 49327 typ relay raddr 141.24.211.56 rport 47093 generation 0 ufrag en8/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","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/236b280f-d1d4-4226-8647-72b5dfb9fba7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7'"} device-1 | {"data":{"peerconnection":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","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/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c00c4717c37c19cb0a99775cadd54cac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c00c4717c37c19cb0a99775cadd54cac","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/e4699c31-3cf0-436d-a166-99f9855da244"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"}}},"level":"info","message":"received a callback","requestID":"c00c4717c37c19cb0a99775cadd54cac"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"328c3500-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d7b8031-8a16-408d-bd0a-9b5c9211dca6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.711341} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.594061,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"328c3500-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"328c3500-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"328c3500-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8 200 12ms","method":"GET","requestID":"328c3500-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"c00c4717c37c19cb0a99775cadd54cac","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"c00c4717c37c19cb0a99775cadd54cac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32924f80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5095557-f4ec-4167-9e2e-e434f0af202f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.7484949} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546974,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"32924f80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"32924f80-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32924f80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling 200 9ms","method":"POST","requestID":"32924f80-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32942440-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58fe4dfd-1ed6-46c2-9af9-a53974693266","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.7623878} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.215995,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"32942440-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","rebac_allow":false,"scope_allow":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":"32942440-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32942440-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling 200 13ms","method":"POST","requestID":"32942440-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0","level":"info","message":"auth send jwt","requestID":"730dfaff0b8836b13ef5a6d038283b6d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"730dfaff0b8836b13ef5a6d038283b6d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c943e33-64c6-41f5-897e-25c22e741752","requestID":"730dfaff0b8836b13ef5a6d038283b6d"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.795579,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"730dfaff0b8836b13ef5a6d038283b6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707610,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"730dfaff0b8836b13ef5a6d038283b6d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c943e33-64c6-41f5-897e-25c22e741752","requestID":"730dfaff0b8836b13ef5a6d038283b6d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c943e33-64c6-41f5-897e-25c22e741752 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"730dfaff0b8836b13ef5a6d038283b6d"} experiment-1 | {"level":"info","message":"GET /experiments/6c943e33-64c6-41f5-897e-25c22e741752 200 15ms","method":"GET","requestID":"730dfaff0b8836b13ef5a6d038283b6d","responseTime":15,"status":200,"url":"/experiments/6c943e33-64c6-41f5-897e-25c22e741752"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0","level":"info","message":"auth send jwt","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c519f2f63e7db915e04cb0b89ec858c0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c943e33-64c6-41f5-897e-25c22e741752","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.853591,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c519f2f63e7db915e04cb0b89ec858c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707610,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c519f2f63e7db915e04cb0b89ec858c0","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Attempting to finish experiment","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.760121,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707610,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","device":"236b280f-d1d4-4226-8647-72b5dfb9fba7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e4699c31-3cf0-436d-a166-99f9855da244","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33a439a5060fd77ea6742364446302e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"33a439a5060fd77ea6742364446302e5","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c1136f818d2e991ea4d270b0f48293b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/e4699c31-3cf0-436d-a166-99f9855da244"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"}}},"level":"info","message":"received a callback","requestID":"33a439a5060fd77ea6742364446302e5"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c1136f818d2e991ea4d270b0f48293b1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"f5c6a10b-0eaf-4d9a-8874-64b1b614c34d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.8427982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"379120f5-d59b-4053-8f27-709389de95b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.8431842} 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/e4699c31-3cf0-436d-a166-99f9855da244"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"}}},"level":"info","message":"received a callback","requestID":"c1136f818d2e991ea4d270b0f48293b1"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8 204 57ms","method":"DELETE","requestID":"329d7310-e346-11ef-bee8-fdb657b9cb09","responseTime":57,"status":204,"url":"/peerconnections/23b4f912-1ded-4921-ba3f-8e1ed4a9b1f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c943e33-64c6-41f5-897e-25c22e741752"},"level":"info","message":"Successfully finished experiment","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32a9a810-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4699c31-3cf0-436d-a166-99f9855da244","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a10acdd1-7153-4f86-9ac7-c9a92b0dcaaa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.9035447} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.315521,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"32a9a810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244","object_type":"device","rebac_allow":false,"scope_allow":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":"32a9a810-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32a9a810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling 200 13ms","method":"POST","requestID":"32a9a810-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/e4699c31-3cf0-436d-a166-99f9855da244/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c943e33-64c6-41f5-897e-25c22e741752': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c943e33-64c6-41f5-897e-25c22e741752","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"aed44415-d573-4d32-9417-53bed9f5eb85","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.914123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a038c9be-08b5-49a8-b175-a6ec195bb7fe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.9144773} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"c519f2f63e7db915e04cb0b89ec858c0","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32acdc60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F236b280f-d1d4-4226-8647-72b5dfb9fba7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdbbb7e9-f21a-43c3-91ac-c7cf15d242ed","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707610.9269185} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.748464,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"32acdc60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"32acdc60-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32acdc60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling 200 22ms","method":"POST","requestID":"32acdc60-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/236b280f-d1d4-4226-8647-72b5dfb9fba7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c943e33-64c6-41f5-897e-25c22e741752","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} gateway-1 | {"time_local":"04/Feb/2025:22:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c943e33-64c6-41f5-897e-25c22e741752 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c519f2f63e7db915e04cb0b89ec858c0"} experiment-1 | {"level":"info","message":"DELETE /experiments/6c943e33-64c6-41f5-897e-25c22e741752 204 180ms","method":"DELETE","requestID":"c519f2f63e7db915e04cb0b89ec858c0","responseTime":180,"status":204,"url":"/experiments/6c943e33-64c6-41f5-897e-25c22e741752"} gateway-1 | {"time_local":"04/Feb/2025:22:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"4.278","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"5d272b62cde3f18b9bf39dd8189fe619"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"33a439a5060fd77ea6742364446302e5","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"33a439a5060fd77ea6742364446302e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"c1136f818d2e991ea4d270b0f48293b1","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1136f818d2e991ea4d270b0f48293b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0","level":"info","message":"auth send jwt","requestID":"1082389d354bd91ad811a38a0846d6d1"} gateway-1 | {"time_local":"04/Feb/2025:22:20:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.758","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b9e41712b0e30576cab92cc620905b46"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1082389d354bd91ad811a38a0846d6d1"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e4699c31-3cf0-436d-a166-99f9855da244' closed"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913622,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1082389d354bd91ad811a38a0846d6d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707610,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMH0.L9sUlDloLr88rUsdj3x1jy7w9_7O72j1Q-2jGF8X1X0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","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/236b280f-d1d4-4226-8647-72b5dfb9fba7' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a956bc91-5bfe-495c-b9bd-493fafe8e790","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.017577} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d02400e-8150-4d29-bfcf-bb53a0234a1d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0229971} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"9ce1ac8d-40e8-417d-9f6f-d4de6da9ffae","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0361264} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9ac52c0-6e85-4613-b96a-6c53c311c6e1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0364726} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"e1339e62-6f08-40ef-beef-b653e300b79a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0451849} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1082389d354bd91ad811a38a0846d6d1"} gateway-1 | {"time_local":"04/Feb/2025:22: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.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1082389d354bd91ad811a38a0846d6d1"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"1082389d354bd91ad811a38a0846d6d1","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"5d032bf73f659ebd7be25d2dc5e7a146"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5d032bf73f659ebd7be25d2dc5e7a146"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.942058,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5d032bf73f659ebd7be25d2dc5e7a146","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f3e0fdc-7b0d-4f73-a06f-d5584c3685dd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0728393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b9494a-f9c0-41df-824d-c68a1f0a0664","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0787635} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1486491a-4fb9-41bb-807c-77354e69a92f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0898647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08608651-52fe-40f3-bd36-c1ab3cff0c6b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.0900962} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"feeddeb1-8237-41ae-bdad-11f402a3be10","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.094254} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5d032bf73f659ebd7be25d2dc5e7a146"} gateway-1 | {"time_local":"04/Feb/2025:22: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.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d032bf73f659ebd7be25d2dc5e7a146"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"5d032bf73f659ebd7be25d2dc5e7a146","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"409e0b2a53c96a31263c8a0563eea862"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"409e0b2a53c96a31263c8a0563eea862","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"409e0b2a53c96a31263c8a0563eea862"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12884,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756165,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"409e0b2a53c96a31263c8a0563eea862","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"409e0b2a53c96a31263c8a0563eea862","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"f245bff0-4cb0-472f-8d94-2cdb479d082a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.5604033} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"3960a179-1d79-446b-92cd-ab084d8b0522","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.56145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"409e0b2a53c96a31263c8a0563eea862","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"487e4c5b-de3b-49ff-8670-264d3737a48f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.5678568} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19bea871-4c57-4c8a-9d14-cd2975ec8583","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.5696676} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"409e0b2a53c96a31263c8a0563eea862","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"ab09957a-89d5-4210-ab30-d090f0b6c6cf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.5739315} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"409e0b2a53c96a31263c8a0563eea862","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"409e0b2a53c96a31263c8a0563eea862"} device-1 | {"level":"info","message":"PATCH /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a 200 28ms","method":"PATCH","requestID":"409e0b2a53c96a31263c8a0563eea862","responseTime":28,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"409e0b2a53c96a31263c8a0563eea862"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"4061f38a6eb15c356667f3f80a1d4903"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4061f38a6eb15c356667f3f80a1d4903","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4061f38a6eb15c356667f3f80a1d4903"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74325,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4061f38a6eb15c356667f3f80a1d4903","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4061f38a6eb15c356667f3f80a1d4903","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"a75b4901-c825-4b20-a972-24ec7047d712","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.5895889} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c"} device-1 | {"level":"info","message":"PATCH /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e 200 45ms","method":"PATCH","requestID":"a0bb85f30c3c5d9756b81eeb2b98114c","responseTime":45,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"1338e32af16ebd904a5fbbeda407082d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1338e32af16ebd904a5fbbeda407082d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1338e32af16ebd904a5fbbeda407082d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4061f38a6eb15c356667f3f80a1d4903"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/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.11","requestID":"4061f38a6eb15c356667f3f80a1d4903"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/websocket 200 16ms","method":"POST","requestID":"4061f38a6eb15c356667f3f80a1d4903","responseTime":16,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/websocket"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645157,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1338e32af16ebd904a5fbbeda407082d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1338e32af16ebd904a5fbbeda407082d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1338e32af16ebd904a5fbbeda407082d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.013","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"1338e32af16ebd904a5fbbeda407082d"} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/websocket 200 10ms","method":"POST","requestID":"1338e32af16ebd904a5fbbeda407082d","responseTime":10,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"65c4c0b911310ef90bb707963532656b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65c4c0b911310ef90bb707963532656b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"65c4c0b911310ef90bb707963532656b"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678881,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"65c4c0b911310ef90bb707963532656b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"65c4c0b911310ef90bb707963532656b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"5fbf6510-ffa3-4c56-b2a6-e59b4b3c79c8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.6305454} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"65c4c0b911310ef90bb707963532656b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"65c4c0b911310ef90bb707963532656b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? 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":"65c4c0b911310ef90bb707963532656b"} device-1 | {"level":"info","message":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? 200 9ms","method":"GET","requestID":"65c4c0b911310ef90bb707963532656b","responseTime":9,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"db26da9f84dd5f95066b4231fd6682f6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db26da9f84dd5f95066b4231fd6682f6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"db26da9f84dd5f95066b4231fd6682f6"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705862,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"db26da9f84dd5f95066b4231fd6682f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"db26da9f84dd5f95066b4231fd6682f6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"b7c48be1-1b81-4fce-9045-5fafeee4d1db","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.6455073} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db26da9f84dd5f95066b4231fd6682f6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"db26da9f84dd5f95066b4231fd6682f6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? 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":"db26da9f84dd5f95066b4231fd6682f6"} device-1 | {"level":"info","message":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? 200 11ms","method":"GET","requestID":"db26da9f84dd5f95066b4231fd6682f6","responseTime":11,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"e6acd24c67d4ff858c755d6207e163c2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6acd24c67d4ff858c755d6207e163c2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e6acd24c67d4ff858c755d6207e163c2"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.965518,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e6acd24c67d4ff858c755d6207e163c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e6acd24c67d4ff858c755d6207e163c2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to run experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to book experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully booked experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.399791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148256,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"9768ff91-e022-42f8-8a44-0171a14af60b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.7226071} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"82f6c18b-3fc1-4860-9bda-31229cde418f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.7242277} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? 200 24ms","method":"GET","requestID":"33258ed0-e346-11ef-bee8-fdb657b9cb09","responseTime":24,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? 200 24ms","method":"GET","requestID":"3325dcf0-e346-11ef-bee8-fdb657b9cb09","responseTime":24,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Setting up experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully set up experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"33326010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33332360-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully running experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.756197,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33326010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"33326010-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.808739,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d414ed98-e737-4e72-a799-d1d690bcbca7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.80895} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.45501,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33332360-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"33332360-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"cf4418b7-d478-475e-b5c0-6cf825cb26d1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8137944} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"33326010-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33332360-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"aef453d8-84b6-4f79-9268-e90822eed8e8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8183584} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling 200 22ms","method":"POST","requestID":"33332360-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b973755-6acb-4ee2-babd-074a1f68bf53#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b973755-6acb-4ee2-babd-074a1f68bf53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d049dee6-7719-4b8e-bc44-9c98dab1b51d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8240247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c44009a-afbe-4316-a902-fd1caaab757e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8244872} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33374210-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"e6acd24c67d4ff858c755d6207e163c2","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"33326010-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} device-1 | {"level":"info","message":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? 200 37ms","method":"GET","requestID":"33326010-e346-11ef-bee8-fdb657b9cb09","responseTime":37,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? 200 37ms","method":"GET","requestID":"3332ae30-e346-11ef-bee8-fdb657b9cb09","responseTime":37,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1860dfb-bc27-4f4b-9444-5864643d8b09","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8333457} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.32427,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33374210-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","rebac_allow":false,"scope_allow":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":"33374210-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33398c00-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e6acd24c67d4ff858c755d6207e163c2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"e6acd24c67d4ff858c755d6207e163c2","responseTime":189,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33374210-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling 200 21ms","method":"POST","requestID":"33374210-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00b3680a-2ab1-498a-97f7-eb09d68792f2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8477702} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.654721,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33398c00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"33398c00-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"af480bbbe29c8c2818bae417d58c465a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"af480bbbe29c8c2818bae417d58c465a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af480bbbe29c8c2818bae417d58c465a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33398c00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling 200 19ms","method":"POST","requestID":"33398c00-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983892,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"af480bbbe29c8c2818bae417d58c465a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af480bbbe29c8c2818bae417d58c465a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"333d0e70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.036111580Z"}]},"request_id":"ce0e6c57-6349-4255-bdb1-d1806c69be25","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8685665} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afed9740-e731-4a79-a27a-d9821cfeb6cb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8686836} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af480bbbe29c8c2818bae417d58c465a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.641065,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"333d0e70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","rebac_allow":false,"scope_allow":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":"333d0e70-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af480bbbe29c8c2818bae417d58c465a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af480bbbe29c8c2818bae417d58c465a"} device-1 | {"level":"info","message":"GET /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e? 200 19ms","method":"GET","requestID":"af480bbbe29c8c2818bae417d58c465a","responseTime":19,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"333d0e70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling 200 13ms","method":"POST","requestID":"333d0e70-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Building connection plan","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"90049055-2099-411d-96e2-f9b45b271da7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1246cd56-21e5-4ded-b95b-1360bc4fd597"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a1f4ede5-d530-4a46-9a0e-3f82227867bc"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e6acd24c67d4ff858c755d6207e163c2"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e6acd24c67d4ff858c755d6207e163c2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4","level":"info","message":"auth send jwt","requestID":"7428fc309aaa8bb9b9a8175355176703"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7428fc309aaa8bb9b9a8175355176703","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7428fc309aaa8bb9b9a8175355176703"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.939577,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879376,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7428fc309aaa8bb9b9a8175355176703","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707611,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxMX0.tzC4Zf1u4v9ewsaWzdPPfpOEQBncvp7RJQlDX8uEYU4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7428fc309aaa8bb9b9a8175355176703","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:11.089850252Z"}]},"request_id":"9332a557-357c-4798-8eb6-ed1568867bc0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.8946393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7428fc309aaa8bb9b9a8175355176703","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7428fc309aaa8bb9b9a8175355176703"} gateway-1 | {"time_local":"04/Feb/2025:22:20:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7428fc309aaa8bb9b9a8175355176703"} device-1 | {"level":"info","message":"GET /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a? 200 17ms","method":"GET","requestID":"7428fc309aaa8bb9b9a8175355176703","responseTime":17,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1eea3d8b-6ffc-4516-886c-ac3853beab4b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.9005075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc664fa8-04a2-402f-abb4-eed7b0bc72f4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.9008677} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c'","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c'","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} 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":"333fcd90-e346-11ef-bee8-fdb657b9cb09","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":"333fcd90-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e6acd24c67d4ff858c755d6207e163c2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"334bdb80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bf8f169-e0f9-456d-aa0e-6b26669f8fd8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.9680555} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.007114,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"334bdb80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"334bdb80-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"334bdb80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling 200 16ms","method":"POST","requestID":"334bdb80-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"334ec1b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1229c922-afb2-4c98-bdd5-0e68cae6ebbb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707611.985548} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.678101,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"334ec1b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","rebac_allow":false,"scope_allow":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":"334ec1b0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"334ec1b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling 200 14ms","method":"POST","requestID":"334ec1b0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling"} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"29aa4b9121955b9749e63d81a6fa0799","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"29aa4b9121955b9749e63d81a6fa0799","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/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"}}},"level":"info","message":"received a callback","requestID":"29aa4b9121955b9749e63d81a6fa0799"} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.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":"29aa4b9121955b9749e63d81a6fa0799","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"29aa4b9121955b9749e63d81a6fa0799"} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","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/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e5d8c6ad16538b0a710b89ede954c025","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e5d8c6ad16538b0a710b89ede954c025","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/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"}}},"level":"info","message":"received a callback","requestID":"e5d8c6ad16538b0a710b89ede954c025"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"348a4ef0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ec75275-3bd6-4e5e-a92d-d5bb0e898258","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.0548112} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.582657,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"348a4ef0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"348a4ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"348a4ef0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c 200 14ms","method":"GET","requestID":"348a4ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"e5d8c6ad16538b0a710b89ede954c025","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"e5d8c6ad16538b0a710b89ede954c025"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34904260-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"432e74fa-0bfb-4839-a98c-732329d0c6e7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.093259} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.244997,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34904260-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","rebac_allow":false,"scope_allow":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":"34904260-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34904260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling 200 14ms","method":"POST","requestID":"34904260-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34930180-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a2df925-64dd-41bd-9d8f-bf03f435cb7d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.1114018} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.399583,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34930180-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"34930180-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34930180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling 200 14ms","method":"POST","requestID":"34930180-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"0234322db629622ac349d2eeaa441fd2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0234322db629622ac349d2eeaa441fd2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","requestID":"0234322db629622ac349d2eeaa441fd2"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.219961,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0234322db629622ac349d2eeaa441fd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0234322db629622ac349d2eeaa441fd2","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","requestID":"0234322db629622ac349d2eeaa441fd2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0234322db629622ac349d2eeaa441fd2"} experiment-1 | {"level":"info","message":"GET /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53 200 17ms","method":"GET","requestID":"0234322db629622ac349d2eeaa441fd2","responseTime":17,"status":200,"url":"/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"f51cde866eee471f03acec92edf73d5a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f51cde866eee471f03acec92edf73d5a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","requestID":"f51cde866eee471f03acec92edf73d5a"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.181439,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f51cde866eee471f03acec92edf73d5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f51cde866eee471f03acec92edf73d5a","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Attempting to finish experiment","requestID":"f51cde866eee471f03acec92edf73d5a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.243786,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1beac23de5631d02a1f4db39b0d1ef1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a1beac23de5631d02a1f4db39b0d1ef1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"9e662521-ea5a-4044-b2d1-d39423d1614b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.1990414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8166508-d208-4860-81d4-bad1d51b27b0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.1997597} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"41b381573e0b65657628881a392599a4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"}}},"level":"info","message":"received a callback","requestID":"a1beac23de5631d02a1f4db39b0d1ef1"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"41b381573e0b65657628881a392599a4","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/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"}}},"level":"info","message":"received a callback","requestID":"41b381573e0b65657628881a392599a4"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c 204 61ms","method":"DELETE","requestID":"349d3ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":61,"status":204,"url":"/peerconnections/191a6f3e-41dc-4b1a-9b0c-b5e8896c3b8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"},"level":"info","message":"Successfully finished experiment","requestID":"f51cde866eee471f03acec92edf73d5a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34aaa830-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a461391-7ff6-46a4-a898-a5dc81819dff","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.2672129} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.278624,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34aaa830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a","object_type":"device","rebac_allow":false,"scope_allow":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":"34aaa830-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34aaa830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling 200 16ms","method":"POST","requestID":"34aaa830-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b973755-6acb-4ee2-babd-074a1f68bf53': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b973755-6acb-4ee2-babd-074a1f68bf53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"8795d2dd-06c2-4f9a-849e-7744e7cc80c3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.2787764} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"34adb570-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d824e99-e181-4967-beba-c6a8be2354c2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.2791386} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"f51cde866eee471f03acec92edf73d5a","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"002fcea9-9725-4c39-917d-21ae9833853a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.2890837} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.447126,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34adb570-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"34adb570-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"34adb570-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling 200 18ms","method":"POST","requestID":"34adb570-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53","requestID":"f51cde866eee471f03acec92edf73d5a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f51cde866eee471f03acec92edf73d5a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.737","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a4e687dd75c9598e7b0f27ed3155adbb"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.745","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"40f4152161090402d26874a020acfa13"} experiment-1 | {"level":"info","message":"DELETE /experiments/8b973755-6acb-4ee2-babd-074a1f68bf53 204 192ms","method":"DELETE","requestID":"f51cde866eee471f03acec92edf73d5a","responseTime":192,"status":204,"url":"/experiments/8b973755-6acb-4ee2-babd-074a1f68bf53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"a1beac23de5631d02a1f4db39b0d1ef1","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1beac23de5631d02a1f4db39b0d1ef1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3b4e1b9b-eb6c-41bb-ae5d-208f3274246a' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"41b381573e0b65657628881a392599a4","responseTime":148,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"41b381573e0b65657628881a392599a4"} device-1 | {"level":"info","message":"postDevices called","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8dcac5a9-6ccf-4409-bc1e-34a7c0109b9e' closed"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.036779,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070bf854-4995-409b-990a-d83fba78fd86","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"966272db-43d8-40a5-b46b-8af3dc21a14b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.3746057} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d127fa61-8c3c-4efa-8010-d9c6ecff7fd2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.3811128} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070bf854-4995-409b-990a-d83fba78fd86","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"f785e714-848c-4637-ae7f-544180a71f99","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.3935466} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"752cd1de-486b-457a-952f-a630cf037dae","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.3938727} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070bf854-4995-409b-990a-d83fba78fd86","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070bf854-4995-409b-990a-d83fba78fd86","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.393526229Z"}]},"request_id":"8d4c54a0-1a0e-4d49-a9ac-0969322263a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.3993258} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"dc15f9df0f89ec7ea9dd0d3dc09a066f","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.624677,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff37bfedf-c5a9-4a17-beb7-ca91bae0d528","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c1211be-f9d7-4803-afe1-c967b99af2a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4258265} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52d99d9f-7d9a-4c6b-a02f-765091ce602d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4310575} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff37bfedf-c5a9-4a17-beb7-ca91bae0d528","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d649b85d-5c60-47eb-bf29-553768e93653","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4424348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c76cb0d-fbc9-49f6-94f5-35cbf35eb99a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.443253} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff37bfedf-c5a9-4a17-beb7-ca91bae0d528","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff37bfedf-c5a9-4a17-beb7-ca91bae0d528","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.442409080Z"}]},"request_id":"5d725cd1-24d5-4273-a25f-2f63c6586538","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4482381} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"1364d19fb6a7ec2695ad64b84fedc1e1","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"8e5e97ebfc139f756e50ba164a8b4650"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e5e97ebfc139f756e50ba164a8b4650","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8e5e97ebfc139f756e50ba164a8b4650"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.066967,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8e5e97ebfc139f756e50ba164a8b4650","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb85e856-4f8a-42ee-80bb-5f3ffa59eca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5472c78-033a-4916-b044-4ddbb6194b46","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.476584} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb6ff714-2a1b-418a-bee8-d7a10c600587","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4830654} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb85e856-4f8a-42ee-80bb-5f3ffa59eca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"76ebe3b7-5701-49ea-94f5-c335feec275c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.4976153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3168cafe-e31a-4701-8cc7-61cd2fcb2d94","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.49771} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb85e856-4f8a-42ee-80bb-5f3ffa59eca6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb85e856-4f8a-42ee-80bb-5f3ffa59eca6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.497592504Z"}]},"request_id":"7d42410f-2c5d-47d1-9746-f62cdffbcb3e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5013206} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8e5e97ebfc139f756e50ba164a8b4650"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e5e97ebfc139f756e50ba164a8b4650"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"8e5e97ebfc139f756e50ba164a8b4650","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"95e3b40a4268ef2013d113a946e15047"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95e3b40a4268ef2013d113a946e15047","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"95e3b40a4268ef2013d113a946e15047"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.020249,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"95e3b40a4268ef2013d113a946e15047","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b0277eae-0d1f-4563-ac4c-2aba500192c4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.529619} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9668117b-cec1-4b0f-973f-477b54d13c73","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.535101} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"b80edf54-e44b-4daa-826f-c8e48cbf5834","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5459075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8348205b-8009-4e2d-a322-f95bf4ce2ffc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5461402} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.545892373Z"}]},"request_id":"49c78e7e-a614-4e43-be54-7aab2861c7a9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.552451} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"95e3b40a4268ef2013d113a946e15047"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95e3b40a4268ef2013d113a946e15047"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"95e3b40a4268ef2013d113a946e15047","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"f8e59215ed131a014e8586c09a22cc74"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8e59215ed131a014e8586c09a22cc74","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f8e59215ed131a014e8586c09a22cc74"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.985195,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f8e59215ed131a014e8586c09a22cc74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14a31576-2da8-4008-bba5-7ab25b310a2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d511156c-e34a-4ee2-9cbc-441bcf2558f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5777485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31056458-c769-43b0-beb9-87d9a35612bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5828304} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14a31576-2da8-4008-bba5-7ab25b310a2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"bd08894c-0b91-4c0c-b8b3-28d210df6e79","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.594973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b85d27a0-d1a3-470c-997a-739b8cb71b92","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5951648} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14a31576-2da8-4008-bba5-7ab25b310a2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14a31576-2da8-4008-bba5-7ab25b310a2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.594949801Z"}]},"request_id":"8cb42be5-ae9d-417f-93fd-e5901dfca11c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.5994353} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f8e59215ed131a014e8586c09a22cc74"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8e59215ed131a014e8586c09a22cc74"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"f8e59215ed131a014e8586c09a22cc74","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.993939,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94895082-3e6a-4e2c-b3b7-7f375a0cdcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c95a7075-3a5d-408c-84a4-29b8c4ef7164","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6278696} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25f7272e-57f7-4457-b491-7545fdc89aee","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6332881} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94895082-3e6a-4e2c-b3b7-7f375a0cdcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"a89b0d3a-6475-4f16-9a39-d88072f3c93a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6426897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63a00536-af91-41d1-98b1-16428b753a4c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6431174} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94895082-3e6a-4e2c-b3b7-7f375a0cdcca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F94895082-3e6a-4e2c-b3b7-7f375a0cdcca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.642669187Z"}]},"request_id":"252f9c6d-7879-41ba-8c51-56cb2b604ac1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6474123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"78250bbf7dfdf323dcf0787ddc13ac5d","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"12764018612bb3d929640738fb3903b8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12764018612bb3d929640738fb3903b8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"12764018612bb3d929640738fb3903b8"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683938,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"12764018612bb3d929640738fb3903b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2506f6cf-a39d-4973-9173-964ad0cf99c5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6711168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69a3869c-a962-4a9a-9a3f-584960215306","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6754591} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"77041541-b775-4cc4-9b66-3b5a3f476154","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6869426} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70f4bcfb-038f-4b5d-8841-d65fab78458a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.6872046} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.686921753Z"}]},"request_id":"06bfff16-6a93-410a-a753-36c39bcc3825","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.691485} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"12764018612bb3d929640738fb3903b8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12764018612bb3d929640738fb3903b8"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"12764018612bb3d929640738fb3903b8","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"09e9d0868f58b06c701dcfcce9a47c6c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"09e9d0868f58b06c701dcfcce9a47c6c"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.938446,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"09e9d0868f58b06c701dcfcce9a47c6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3ce08b-6237-4944-85fe-adf7f2004988","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"21659de1-82d1-479d-963f-d8cb6fb2e5c2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.72182} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f103274e-0697-49d4-92a5-469eaa40b3e7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.729076} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3ce08b-6237-4944-85fe-adf7f2004988","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"fc7846f6-d676-41c9-aff4-50386aaa3060","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.7408638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e231ab3e-7514-4f44-a1c1-4b98beb08c6f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.7411983} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3ce08b-6237-4944-85fe-adf7f2004988","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c3ce08b-6237-4944-85fe-adf7f2004988","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.740834369Z"}]},"request_id":"84a7e51f-1237-43dd-97b6-f1ff931d7b73","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.7477787} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"09e9d0868f58b06c701dcfcce9a47c6c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09e9d0868f58b06c701dcfcce9a47c6c"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"09e9d0868f58b06c701dcfcce9a47c6c","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"f811afde89cccfa3907de16d8534cdff"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f811afde89cccfa3907de16d8534cdff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f811afde89cccfa3907de16d8534cdff"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.168714,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f811afde89cccfa3907de16d8534cdff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bf16cc1-ab88-4ff0-b128-14e901d17a4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"425bde33-8909-4f62-ac04-da109221e3c8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.7808235} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"768569d7-20fa-48ac-bc55-05048ca11329","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.788822} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bf16cc1-ab88-4ff0-b128-14e901d17a4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"14ad7425-8c52-405e-a8d8-526bf63d69c8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.801548} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"354eaeb1-14ec-4d9b-9fd8-a3e96715922e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8018315} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bf16cc1-ab88-4ff0-b128-14e901d17a4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bf16cc1-ab88-4ff0-b128-14e901d17a4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.801524841Z"}]},"request_id":"a7aa0143-0086-4e26-af1f-f4a1b47ef8d0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8092256} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f811afde89cccfa3907de16d8534cdff"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +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":"f811afde89cccfa3907de16d8534cdff"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"f811afde89cccfa3907de16d8534cdff","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"5e5337fcb41b187faa91facdd3e19750"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e5337fcb41b187faa91facdd3e19750","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5e5337fcb41b187faa91facdd3e19750"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.147314,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e5337fcb41b187faa91facdd3e19750","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd62c9308-219c-4da6-96c2-f22ba88c46c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70b60be6-b8a1-4fd4-ac14-e3db4436596a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8449848} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"370ca3c0-fe76-4242-be09-2f3173b4ea13","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8524327} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd62c9308-219c-4da6-96c2-f22ba88c46c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"6cdb26f0-5c85-4bbb-8811-836b1c902343","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.864884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66a98e26-50ba-4d0d-a405-b40f8cbcb81f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8652442} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd62c9308-219c-4da6-96c2-f22ba88c46c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd62c9308-219c-4da6-96c2-f22ba88c46c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.864858307Z"}]},"request_id":"32acfb5a-3779-406b-92ed-6b9321c51499","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.8721533} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5e5337fcb41b187faa91facdd3e19750"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e5337fcb41b187faa91facdd3e19750"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"5e5337fcb41b187faa91facdd3e19750","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"59968d44bf0d990e90421362f12ff349"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59968d44bf0d990e90421362f12ff349","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"59968d44bf0d990e90421362f12ff349"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.083598,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59968d44bf0d990e90421362f12ff349","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a16e0e90-c71e-4718-90a8-f359f7cc7941","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9099507} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"195c757f-cb95-416d-b22b-d7dd739e381f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9174402} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"bee4adfb-a4d3-462c-bd92-fb084021dbb4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9300673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7775f3b-c93a-4a3a-91a1-e103e10ef1f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.930443} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.930043390Z"}]},"request_id":"96506eed-c72d-43a3-a3e3-5ffe6eac4103","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9369445} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"59968d44bf0d990e90421362f12ff349"} gateway-1 | {"time_local":"04/Feb/2025:22:20:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59968d44bf0d990e90421362f12ff349"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"59968d44bf0d990e90421362f12ff349","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM","level":"info","message":"auth send jwt","requestID":"89645489678e14c6e20b73a1e7c02d97"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89645489678e14c6e20b73a1e7c02d97","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"89645489678e14c6e20b73a1e7c02d97"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.354349,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"89645489678e14c6e20b73a1e7c02d97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707614,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNH0.KnWkxN5eHQwt9jIMnBMVr8qTqSegOvQoMnGYkVKGJGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5442f9cc-e949-477a-8d94-c110ebd39d9f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.973236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"474c9b62-0d2e-46af-92ec-98fe596858a4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9801202} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"c7087ba5-cc67-41a7-acad-d1dc8032683a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9925115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d352d15a-e03e-45d8-bdca-48c4ba062a09","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9928753} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.992485875Z"}]},"request_id":"bfbbc10a-fb80-44be-a076-7b9570d79999","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707614.9993927} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89645489678e14c6e20b73a1e7c02d97"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89645489678e14c6e20b73a1e7c02d97"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"89645489678e14c6e20b73a1e7c02d97","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.209797,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c15d336d-b79f-419a-bd29-a41dc6130061","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0329962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd5985c3-8a04-4362-985d-4b89ef7c4738","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0385416} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"51c00430-ce9b-4d4f-b9a4-8bf35ff765ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0512602} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11d8de90-f806-47b1-8193-fa7d9de0f8bf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0516388} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.051228471Z"}]},"request_id":"f89bf169-f2cd-4b16-b55c-d28385422172","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0576382} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"fb1b4b65fcb703c6940f64b3cc76d6e6","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"c64db1848ccbe91a8dbe733ff83e01a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c64db1848ccbe91a8dbe733ff83e01a5"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278395,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c64db1848ccbe91a8dbe733ff83e01a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.930043390Z"}]},"request_id":"19684a22-ea12-4607-b7c6-328231bd121a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.0862496} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acacc329-9ce4-4003-86a3-c599d0c03c77","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.093351} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.930043390Z"}]},"request_id":"17378a06-d61b-4257-9269-430d4a9d1ccb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.1057312} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c64db1848ccbe91a8dbe733ff83e01a5"} device-1 | {"level":"info","message":"PATCH /devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c? 200 38ms","method":"PATCH","requestID":"c64db1848ccbe91a8dbe733ff83e01a5","responseTime":38,"status":200,"url":"/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c64db1848ccbe91a8dbe733ff83e01a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"caf4e0c6017fc84e74ae641e18c1da4f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"caf4e0c6017fc84e74ae641e18c1da4f"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.258171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"caf4e0c6017fc84e74ae641e18c1da4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.992485875Z"}]},"request_id":"0dae208c-476f-4765-8ce5-fc26d52e96ab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.134787} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54d53988-c172-4466-a21d-aaf121ca441b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.1437788} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.992485875Z"}]},"request_id":"94d59aeb-7ba6-45e0-b0bc-c87563773018","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.1551156} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"caf4e0c6017fc84e74ae641e18c1da4f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"caf4e0c6017fc84e74ae641e18c1da4f"} device-1 | {"level":"info","message":"PATCH /devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9? 200 40ms","method":"PATCH","requestID":"caf4e0c6017fc84e74ae641e18c1da4f","responseTime":40,"status":200,"url":"/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"de1b7952a4c9f973692024ca51d9a6d3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"de1b7952a4c9f973692024ca51d9a6d3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"de1b7952a4c9f973692024ca51d9a6d3"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.161701,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"de1b7952a4c9f973692024ca51d9a6d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de1b7952a4c9f973692024ca51d9a6d3","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.051228471Z"}]},"request_id":"3a393c3b-c8e3-47f9-99e1-e72440666d06","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.1861103} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de1b7952a4c9f973692024ca51d9a6d3","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5650449-8614-4725-b218-9ce942c5f535","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.1939151} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"de1b7952a4c9f973692024ca51d9a6d3","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.051228471Z"}]},"request_id":"0e4c4390-1c45-4abb-86ff-3b5be8efb3cf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.2044175} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"de1b7952a4c9f973692024ca51d9a6d3","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"de1b7952a4c9f973692024ca51d9a6d3"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e4103092-e79c-4034-84e1-6d46205d7986? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de1b7952a4c9f973692024ca51d9a6d3"} device-1 | {"level":"info","message":"PATCH /devices/e4103092-e79c-4034-84e1-6d46205d7986? 200 44ms","method":"PATCH","requestID":"de1b7952a4c9f973692024ca51d9a6d3","responseTime":44,"status":200,"url":"/devices/e4103092-e79c-4034-84e1-6d46205d7986?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"50d7a0982195dca83fb9adcf40b9917a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50d7a0982195dca83fb9adcf40b9917a"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313652,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50d7a0982195dca83fb9adcf40b9917a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.930043390Z"}]},"request_id":"b699467f-5aa1-4716-9f3e-a61f7555c419","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.2320654} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360227,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/070bf854-4995-409b-990a-d83fba78fd86","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50d7a0982195dca83fb9adcf40b9917a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/070bf854-4995-409b-990a-d83fba78fd86","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f37bfedf-c5a9-4a17-beb7-ca91bae0d528","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50d7a0982195dca83fb9adcf40b9917a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f37bfedf-c5a9-4a17-beb7-ca91bae0d528","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209897,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50d7a0982195dca83fb9adcf40b9917a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400729,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb85e856-4f8a-42ee-80bb-5f3ffa59eca6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50d7a0982195dca83fb9adcf40b9917a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/eb85e856-4f8a-42ee-80bb-5f3ffa59eca6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50d7a0982195dca83fb9adcf40b9917a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50d7a0982195dca83fb9adcf40b9917a"} device-1 | {"level":"info","message":"GET /devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c? 200 40ms","method":"GET","requestID":"50d7a0982195dca83fb9adcf40b9917a","responseTime":40,"status":200,"url":"/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"620298decea7aa4f3cead4205a8f08f8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"620298decea7aa4f3cead4205a8f08f8"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217115,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8fb79d82-dee2-4802-aac1-2f2037b8bef9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:14.992485875Z"}]},"request_id":"5028259a-4d84-4468-abf0-a90ad070de56","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.280739} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120723,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12212,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979814,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0f8fcf1b-7cd0-47e5-b67f-23bcc8699ec8","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14a31576-2da8-4008-bba5-7ab25b310a2d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/14a31576-2da8-4008-bba5-7ab25b310a2d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/94895082-3e6a-4e2c-b3b7-7f375a0cdcca","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/94895082-3e6a-4e2c-b3b7-7f375a0cdcca","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383343,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.054439,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.516467,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"620298decea7aa4f3cead4205a8f08f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/83ff9ef2-4e80-4a22-83a5-96e26d8a4c8d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","method":"POST","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":20,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"620298decea7aa4f3cead4205a8f08f8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9? 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":"620298decea7aa4f3cead4205a8f08f8"} device-1 | {"level":"info","message":"GET /devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9? 200 51ms","method":"GET","requestID":"620298decea7aa4f3cead4205a8f08f8","responseTime":51,"status":200,"url":"/devices/8fb79d82-dee2-4802-aac1-2f2037b8bef9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"8f071cf64aabb900e16167294d78de15"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f071cf64aabb900e16167294d78de15"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.182879,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8f071cf64aabb900e16167294d78de15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e4103092-e79c-4034-84e1-6d46205d7986","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe4103092-e79c-4034-84e1-6d46205d7986","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.051228471Z"}]},"request_id":"50cac428-8e1c-4723-b750-8278938b86c0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.3408809} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46860","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.317485,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.624622,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120356,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c3ce08b-6237-4944-85fe-adf7f2004988","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8f071cf64aabb900e16167294d78de15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6c3ce08b-6237-4944-85fe-adf7f2004988","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bf16cc1-ab88-4ff0-b128-14e901d17a4f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8f071cf64aabb900e16167294d78de15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8bf16cc1-ab88-4ff0-b128-14e901d17a4f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d62c9308-219c-4da6-96c2-f22ba88c46c3","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8f071cf64aabb900e16167294d78de15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d62c9308-219c-4da6-96c2-f22ba88c46c3","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.800359,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8f071cf64aabb900e16167294d78de15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/fc7c8952-c9b1-4e60-b6bd-2e67bb43c30c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f071cf64aabb900e16167294d78de15"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e4103092-e79c-4034-84e1-6d46205d7986? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f071cf64aabb900e16167294d78de15"} device-1 | {"level":"info","message":"GET /devices/e4103092-e79c-4034-84e1-6d46205d7986? 200 40ms","method":"GET","requestID":"8f071cf64aabb900e16167294d78de15","responseTime":40,"status":200,"url":"/devices/e4103092-e79c-4034-84e1-6d46205d7986?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"cef253d07b3c701415e666833eff3191"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cef253d07b3c701415e666833eff3191","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cef253d07b3c701415e666833eff3191"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.184739,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"cef253d07b3c701415e666833eff3191","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f0bb17b-27dd-4e16-921e-d0da58987b4d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.40833} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"020fa22d-0da2-4e33-bfcb-5d464b09ada9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4152455} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"039c2a52-6260-4a81-861d-3bbce55364ef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4302843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab895703-1366-484d-89ba-368366429bd3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4314497} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.430231357Z"}]},"request_id":"567b6a8d-60b8-4d96-87a6-ff792c368c5c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.43775} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cef253d07b3c701415e666833eff3191"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cef253d07b3c701415e666833eff3191"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"cef253d07b3c701415e666833eff3191","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"d2d406f077d0923d076790702451f28d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2d406f077d0923d076790702451f28d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d2d406f077d0923d076790702451f28d"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.107681,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d2d406f077d0923d076790702451f28d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc52fb46-b31f-42a8-b9f1-94668622016b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.470996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5090d62d-a241-45e1-965c-04d9834f34c6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4771528} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"ffcca565-e890-43d7-981b-260c4b0147ce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4888005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9ec5919-aa26-499f-9e2c-02cfb61d674d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4891226} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.488774682Z"}]},"request_id":"69bfec9f-4657-4287-8f39-ef41e9d68b8a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.4946125} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d2d406f077d0923d076790702451f28d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"d2d406f077d0923d076790702451f28d","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2d406f077d0923d076790702451f28d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU","level":"info","message":"auth send jwt","requestID":"035df0b458762995ee7f5dccffd8b88b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"035df0b458762995ee7f5dccffd8b88b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"035df0b458762995ee7f5dccffd8b88b"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.139421,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"035df0b458762995ee7f5dccffd8b88b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707615,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxNX0.3PCtrcv32ShkBCXOfxzTe9JQSIAW_2dkOLcUiIT-JSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0b83d92c-b473-4210-b88f-d62c6e7bfd1e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.525502} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d3a3339-1655-400d-aa82-1c6a507796e0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.532519} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"336f2561-0251-4483-b36c-9cfa18ea4381","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.544947} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cadebda-f072-47b5-bd0c-7d7f273e472d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.5450957} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.544927013Z"}]},"request_id":"08208fb9-4d59-49c4-8ebb-3eb202686d43","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707615.5510821} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"035df0b458762995ee7f5dccffd8b88b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"035df0b458762995ee7f5dccffd8b88b"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"035df0b458762995ee7f5dccffd8b88b","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"869f1fdf746af0d45a7f73451a8249ee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"869f1fdf746af0d45a7f73451a8249ee","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/172947cb-2a36-4d53-8adc-978ad9389119/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":"869f1fdf746af0d45a7f73451a8249ee"} device-1 | {"level":"info","message":"OPTIONS /devices/172947cb-2a36-4d53-8adc-978ad9389119/websocket 200 1ms","method":"OPTIONS","requestID":"869f1fdf746af0d45a7f73451a8249ee","responseTime":1,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA","level":"info","message":"auth send jwt","requestID":"59a38e44032b4478c3e7af3c839b4eef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59a38e44032b4478c3e7af3c839b4eef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"59a38e44032b4478c3e7af3c839b4eef"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033718,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59a38e44032b4478c3e7af3c839b4eef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"59a38e44032b4478c3e7af3c839b4eef","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b194f081e6acfb620b5b3e1ac129c42c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b194f081e6acfb620b5b3e1ac129c42c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/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":"b194f081e6acfb620b5b3e1ac129c42c"} device-1 | {"level":"info","message":"OPTIONS /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/websocket 200 1ms","method":"OPTIONS","requestID":"b194f081e6acfb620b5b3e1ac129c42c","responseTime":1,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA","level":"info","message":"auth send jwt","requestID":"ea163483251f28b45a781d97f0bc3b6b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea163483251f28b45a781d97f0bc3b6b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ea163483251f28b45a781d97f0bc3b6b"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675275,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ea163483251f28b45a781d97f0bc3b6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea163483251f28b45a781d97f0bc3b6b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"59a38e44032b4478c3e7af3c839b4eef"} gateway-1 | {"time_local":"04/Feb/2025:22:20:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.125","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"59a38e44032b4478c3e7af3c839b4eef"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/websocket 200 121ms","method":"POST","requestID":"59a38e44032b4478c3e7af3c839b4eef","responseTime":121,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ea163483251f28b45a781d97f0bc3b6b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.142","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea163483251f28b45a781d97f0bc3b6b"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/websocket 200 136ms","method":"POST","requestID":"ea163483251f28b45a781d97f0bc3b6b","responseTime":136,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA","level":"info","message":"auth send jwt","requestID":"5c217e3d0ce388ca1ea651d7d9911c03"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c217e3d0ce388ca1ea651d7d9911c03","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c217e3d0ce388ca1ea651d7d9911c03"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.365196,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5c217e3d0ce388ca1ea651d7d9911c03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5c217e3d0ce388ca1ea651d7d9911c03","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.544927013Z"}]},"request_id":"eeaf01b5-8809-4a59-abb8-28a2593aba9b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707617.8149502} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5c217e3d0ce388ca1ea651d7d9911c03","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c217e3d0ce388ca1ea651d7d9911c03"} gateway-1 | {"time_local":"04/Feb/2025:22:20:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c217e3d0ce388ca1ea651d7d9911c03"} device-1 | {"level":"info","message":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? 200 17ms","method":"GET","requestID":"5c217e3d0ce388ca1ea651d7d9911c03","responseTime":17,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA","level":"info","message":"auth send jwt","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.326305,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d67e7d7bfc922f7e0a134bad5018c5f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to run experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to book experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully booked experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.096661,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a2cd026a-d841-4abb-8243-d461d66f0910","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a2cd026a-d841-4abb-8243-d461d66f0910","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.637738,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa2cd026a-d841-4abb-8243-d461d66f0910","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.488774682Z"}]},"request_id":"2683e67d-5190-4112-ace3-4e9dd17f1c64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707617.9265387} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.544927013Z"}]},"request_id":"6461d2de-3bbf-4f4c-ab0a-bea6f4c4e16c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707617.9276638} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? 200 21ms","method":"GET","requestID":"36d884b0-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae?"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728943,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Setting up experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"GET /devices/a2cd026a-d841-4abb-8243-d461d66f0910? 200 29ms","method":"GET","requestID":"36d83690-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":200,"url":"/devices/a2cd026a-d841-4abb-8243-d461d66f0910?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully set up experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36e61940-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully running experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.360114,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.142399,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.344593,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4abec7ed-ef73-4d49-a7b5-7f845b3c51c6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.010667} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36e61940-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","rebac_allow":false,"scope_allow":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":"36e61940-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36e61940-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling 200 15ms","method":"POST","requestID":"36e61940-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.430231357Z"}]},"request_id":"1876262a-2458-4887-954c-8a8937134cad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.01933} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.544927013Z"}]},"request_id":"51cd6681-0081-4f1c-889a-ef2f573f4305","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0207198} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36e92680-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d36694e-6820-4742-bd8f-bf8b37c4c0cb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d36694e-6820-4742-bd8f-bf8b37c4c0cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"da8df8ad-68ca-41d8-8d86-30e5aeecddf1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.026478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ec2c57a-236f-401f-8b1a-3e87ecf53f52","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.026816} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/172947cb-2a36-4d53-8adc-978ad9389119? 200 32ms","method":"GET","requestID":"36e555f0-e346-11ef-bee8-fdb657b9cb09","responseTime":32,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.515368,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d00cbe2b-9ebd-496f-9f10-a80b6a3262b9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0303652} device-1 | {"level":"info","message":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? 200 32ms","method":"GET","requestID":"36e5a410-e346-11ef-bee8-fdb657b9cb09","responseTime":32,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36e92680-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","rebac_allow":false,"scope_allow":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":"36e92680-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36e92680-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling 200 13ms","method":"POST","requestID":"36e92680-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36eb9780-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2030a099-0c91-49cf-a0c4-3979f99f1bde","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.045126} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.277733,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 216ms","method":"POST","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3","responseTime":216,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36eb9780-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"36eb9780-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36eb9780-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling 200 10ms","method":"POST","requestID":"36eb9780-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"e537135b56ee47e1df2063e318cbc853"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e537135b56ee47e1df2063e318cbc853","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e537135b56ee47e1df2063e318cbc853"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36edba60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894056,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e537135b56ee47e1df2063e318cbc853","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e537135b56ee47e1df2063e318cbc853","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba6a423f-6bb3-4156-ae0e-98894b974039","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0594738} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.418821,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36edba60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","rebac_allow":false,"scope_allow":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":"36edba60-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.430231357Z"}]},"request_id":"37889715-43e9-4096-b085-68b27799f6a4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0645592} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36edba60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling 200 11ms","method":"POST","requestID":"36edba60-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e537135b56ee47e1df2063e318cbc853","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Building connection plan","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c13192ff-238d-4cdc-845a-b457c1deb80a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"47d3e3e5-1483-470a-87f9-e5e5214efa42"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"81a57cd2-d76f-467d-aa32-7089d33dca5a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e537135b56ee47e1df2063e318cbc853"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/172947cb-2a36-4d53-8adc-978ad9389119? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e537135b56ee47e1df2063e318cbc853"} device-1 | {"level":"info","message":"GET /devices/172947cb-2a36-4d53-8adc-978ad9389119? 200 17ms","method":"GET","requestID":"e537135b56ee47e1df2063e318cbc853","responseTime":17,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"719e52ada6b7f2c8471bc8b697ccb886"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"719e52ada6b7f2c8471bc8b697ccb886","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"719e52ada6b7f2c8471bc8b697ccb886"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.909923,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707617,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxN30.NaNftDQN7IQ8v8JMtWt9NhA3T7GMF1c3uv_2yH08VUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84641,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"719e52ada6b7f2c8471bc8b697ccb886","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"719e52ada6b7f2c8471bc8b697ccb886","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:15.544927013Z"}]},"request_id":"d2536dbc-ded1-421e-a627-334d73f09f47","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0863082} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"719e52ada6b7f2c8471bc8b697ccb886","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"66ff617a-9f1c-49eb-8688-5f74e1554d6e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.091988} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fde12348-b7e6-4d6f-bcbf-f9e54b6e1dc3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.0923243} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"719e52ada6b7f2c8471bc8b697ccb886"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"719e52ada6b7f2c8471bc8b697ccb886"} device-1 | {"level":"info","message":"GET /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae? 200 22ms","method":"GET","requestID":"719e52ada6b7f2c8471bc8b697ccb886","responseTime":22,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64'","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64'","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} 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":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09","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":"36f0c7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d67e7d7bfc922f7e0a134bad5018c5f3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36ff6da0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"content":{"sdp":"v=0\r\no=- 897815089302696958 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:sWNF\r\na=ice-pwd:d+yeWWUAhwWv0D/XGwk1l9LM\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F9:AA:1C:53:C6:73:1B:AB:1C:8F:94:BB:92:6B:7A:E6:8A:CB:4C:1C:0A:4F:52:DD:EA:0A:9F:92:B7:74:B7: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":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fa49520-0c82-4327-b1ea-34a643285ebb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.1753733} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.320623,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"36ff6da0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"36ff6da0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36ff6da0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling 200 10ms","method":"POST","requestID":"36ff6da0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3743133606534122222 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:D9Ug\r\na=ice-pwd:UUYL+GauG6etk+zx33sf/EEe\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1B:03:F9:C1:B7:84:70:A3:CD:87:30:3E:06:D6:C0:DC:A2:CD:8C:C3:6C:31:B9:BB:0C:96:10:C0:E2:08:B9:9D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"37016970-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"content":{"candidate":"candidate:1059605567 1 udp 2113937151 42db05ea-5e24-4d81-a328-677973e5e16c.local 57508 typ host generation 0 ufrag D9Ug network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:975192935 1 udp 1677729535 141.24.211.56 57508 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag D9Ug network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119'"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61b9b717-3894-4d01-9e3c-f1ec6492bb14","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.1878722} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.252968,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"37016970-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"content":{"candidate":"candidate:2651637692 1 udp 2113937151 f7557121-6bf6-4540-a342-da21133f039f.local 45103 typ host generation 0 ufrag sWNF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"37016970-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"candidate":"candidate:2522123387 1 udp 1677729535 141.24.211.56 45103 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag sWNF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","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/083b504b-8754-48ca-8af1-4f9f4832f3ae'"} device-1 | {"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"37016970-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling 200 17ms","method":"POST","requestID":"37016970-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling"} device-1 | {"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"536c79e6e89215da8652e6132794e47e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"536c79e6e89215da8652e6132794e47e","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/172947cb-2a36-4d53-8adc-978ad9389119"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"}}},"level":"info","message":"received a callback","requestID":"536c79e6e89215da8652e6132794e47e"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"536c79e6e89215da8652e6132794e47e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"536c79e6e89215da8652e6132794e47e","responseTime":9,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"172947cb-2a36-4d53-8adc-978ad9389119","deviceName":"Internal Test Device","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","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/fed21091-4dcb-4f3c-aa3d-984039c82d64' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73b73bedf6c18005a382d720e5fdb212","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73b73bedf6c18005a382d720e5fdb212","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/172947cb-2a36-4d53-8adc-978ad9389119"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"}}},"level":"info","message":"received a callback","requestID":"73b73bedf6c18005a382d720e5fdb212"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"370a9130-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffed21091-4dcb-4f3c-aa3d-984039c82d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4e4160d-0728-4a13-b499-602fc4dabca5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.247763} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.330433,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"370a9130-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","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":"370a9130-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"370a9130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64 200 9ms","method":"GET","requestID":"370a9130-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"73b73bedf6c18005a382d720e5fdb212","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"73b73bedf6c18005a382d720e5fdb212"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"370eafe0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5eb6527-1750-4009-bc68-b941f70ee093","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.2754965} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821367,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"370eafe0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"370eafe0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"370eafe0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling 200 10ms","method":"POST","requestID":"370eafe0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3710abb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef7baa46-0400-44d9-8b03-070da0d96a16","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.2878394} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.811993,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3710abb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3710abb0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3710abb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling 200 10ms","method":"POST","requestID":"3710abb0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"87f981345cad9fa274b8505f975500b1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87f981345cad9fa274b8505f975500b1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","requestID":"87f981345cad9fa274b8505f975500b1"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.053515,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"87f981345cad9fa274b8505f975500b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87f981345cad9fa274b8505f975500b1","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","requestID":"87f981345cad9fa274b8505f975500b1"} experiment-1 | {"level":"info","message":"GET /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb 200 13ms","method":"GET","requestID":"87f981345cad9fa274b8505f975500b1","responseTime":13,"status":200,"url":"/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87f981345cad9fa274b8505f975500b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"552f39b9e2d7b18047aac1efa7c71b17","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.911281,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"552f39b9e2d7b18047aac1efa7c71b17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"552f39b9e2d7b18047aac1efa7c71b17","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Attempting to finish experiment","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.637705,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","device":"083b504b-8754-48ca-8af1-4f9f4832f3ae","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64","device":"172947cb-2a36-4d53-8adc-978ad9389119","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/fed21091-4dcb-4f3c-aa3d-984039c82d64' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dce3bd89454dbbb14f70f8cd26e16ce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dce3bd89454dbbb14f70f8cd26e16ce","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a3a60b80e555ced76bcd3f27d6b8fd5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a3a60b80e555ced76bcd3f27d6b8fd5","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"}}},"level":"info","message":"received a callback","requestID":"8dce3bd89454dbbb14f70f8cd26e16ce"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffed21091-4dcb-4f3c-aa3d-984039c82d64': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffed21091-4dcb-4f3c-aa3d-984039c82d64","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"75d61979-7c00-4cb0-9cd8-c5068d0db592","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.3592334} 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/172947cb-2a36-4d53-8adc-978ad9389119"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"}}},"level":"info","message":"received a callback","requestID":"0a3a60b80e555ced76bcd3f27d6b8fd5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925760a4-551b-44cf-9241-2036ef540aee","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.3594687} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"fed21091-4dcb-4f3c-aa3d-984039c82d64","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64 204 40ms","method":"DELETE","requestID":"3719d370-e346-11ef-bee8-fdb657b9cb09","responseTime":40,"status":204,"url":"/peerconnections/fed21091-4dcb-4f3c-aa3d-984039c82d64"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"},"level":"info","message":"Successfully finished experiment","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"37225ef0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F172947cb-2a36-4d53-8adc-978ad9389119","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3095317a-2b09-443c-a4c9-6ceb64584f3d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.403377} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.875254,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"37225ef0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"37225ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"37225ef0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling 200 9ms","method":"POST","requestID":"37225ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/172947cb-2a36-4d53-8adc-978ad9389119/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"37240ca0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d36694e-6820-4742-bd8f-bf8b37c4c0cb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1d36694e-6820-4742-bd8f-bf8b37c4c0cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"21d91a12-cb4a-4cab-9221-eb0459c206f4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.4108953} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b5d9e8a-3e48-4aaa-aff6-34716bb265e7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.4112115} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"552f39b9e2d7b18047aac1efa7c71b17","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F083b504b-8754-48ca-8af1-4f9f4832f3ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ce3f72e-485a-4020-ba89-e3cd018ce572","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.415863} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.527,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"37240ca0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"37240ca0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"37240ca0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling 200 10ms","method":"POST","requestID":"37240ca0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/083b504b-8754-48ca-8af1-4f9f4832f3ae/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"552f39b9e2d7b18047aac1efa7c71b17"} experiment-1 | {"level":"info","message":"DELETE /experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb 204 137ms","method":"DELETE","requestID":"552f39b9e2d7b18047aac1efa7c71b17","responseTime":137,"status":204,"url":"/experiments/1d36694e-6820-4742-bd8f-bf8b37c4c0cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"8dce3bd89454dbbb14f70f8cd26e16ce","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dce3bd89454dbbb14f70f8cd26e16ce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"0a3a60b80e555ced76bcd3f27d6b8fd5","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a3a60b80e555ced76bcd3f27d6b8fd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","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":"98814038ae859687e692491bbaa7f242"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.828","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ffb0ed279ccf43e25c98f34365d12de5"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877649,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/172947cb-2a36-4d53-8adc-978ad9389119' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","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/083b504b-8754-48ca-8af1-4f9f4832f3ae' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f69c6af-178d-4fc6-961c-688cff8a2158","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5051775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a64451e-f047-4180-b3f0-37f998b799c3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5101316} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"64db946e-6280-4c1a-a15d-46a24e94e5ee","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.519421} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce0ec9b1-e2da-40e6-a937-37dac977645f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5195792} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"faac3d8f-6bcf-4b7f-8e68-9b914008ee58","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5242462} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"0d0dec6e8e2eb552cb7b660e277acdc6","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE","level":"info","message":"auth send jwt","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.750568,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707618,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOH0.9uH-QkUDoDhSog_SaabITM4A7cA_yPlmJ-MLF-0i2HE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83b1d96c-f4c7-4d3a-abcf-05e4371338e3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5488093} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59f290c4-9523-4af5-a533-9afb2da1bb4f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.553452} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"da4f647a-1a98-4e73-b858-21bbb8ea502d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5671432} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4724738-485c-4fb9-a18f-32c22eb5bcd5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5672433} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.567123402Z"}]},"request_id":"bdfe1343-85df-4153-9899-73d6990f1269","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707618.5711942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:18 +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":"3d0e2f075d3cc9b6c587a989a72b8e0e"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"3d0e2f075d3cc9b6c587a989a72b8e0e","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOX0.I12stjI8IyVb-wHnMHwzhIMBnQFDGiaJC6iD4DN0IzI","level":"info","message":"auth send jwt","requestID":"9387f3feab0e2558706ec43283cf61ee"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9387f3feab0e2558706ec43283cf61ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9387f3feab0e2558706ec43283cf61ee"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904441,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9387f3feab0e2558706ec43283cf61ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707619,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOX0.I12stjI8IyVb-wHnMHwzhIMBnQFDGiaJC6iD4DN0IzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9387f3feab0e2558706ec43283cf61ee","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"f6fec625-0539-4066-a568-ad8ed0214bcc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707619.047172} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9387f3feab0e2558706ec43283cf61ee","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a7f3b25-9d35-4764-bc26-c27daf7e4743","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707619.0546927} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9387f3feab0e2558706ec43283cf61ee","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"517d8012-f2e8-4e14-90ff-f81385d5ae40","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707619.0803294} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9387f3feab0e2558706ec43283cf61ee","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9387f3feab0e2558706ec43283cf61ee"} gateway-1 | {"time_local":"04/Feb/2025:22:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"9387f3feab0e2558706ec43283cf61ee"} device-1 | {"level":"info","message":"PATCH /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf 200 51ms","method":"PATCH","requestID":"9387f3feab0e2558706ec43283cf61ee","responseTime":51,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOX0.I12stjI8IyVb-wHnMHwzhIMBnQFDGiaJC6iD4DN0IzI","level":"info","message":"auth send jwt","requestID":"8623385a9708c823f564c5750505b204"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8623385a9708c823f564c5750505b204","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8623385a9708c823f564c5750505b204"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:19Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141334,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8623385a9708c823f564c5750505b204","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707619,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYxOX0.I12stjI8IyVb-wHnMHwzhIMBnQFDGiaJC6iD4DN0IzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8623385a9708c823f564c5750505b204","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8623385a9708c823f564c5750505b204"} gateway-1 | {"time_local":"04/Feb/2025:22:20:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8623385a9708c823f564c5750505b204"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/websocket 200 22ms","method":"POST","requestID":"8623385a9708c823f564c5750505b204","responseTime":22,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7af1dad2d8360ddad19e4097e172ba05","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7af1dad2d8360ddad19e4097e172ba05","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/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":"7af1dad2d8360ddad19e4097e172ba05"} device-1 | {"level":"info","message":"OPTIONS /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/websocket 200 0ms","method":"OPTIONS","requestID":"7af1dad2d8360ddad19e4097e172ba05","responseTime":0,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"e18b6264c55c651718a730ffca917d45"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e18b6264c55c651718a730ffca917d45","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e18b6264c55c651718a730ffca917d45"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.319949,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e18b6264c55c651718a730ffca917d45","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e18b6264c55c651718a730ffca917d45","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e18b6264c55c651718a730ffca917d45"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/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":"e18b6264c55c651718a730ffca917d45"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/websocket 200 32ms","method":"POST","requestID":"e18b6264c55c651718a730ffca917d45","responseTime":32,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"b84577f80c28a04092b1c58070cad166"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b84577f80c28a04092b1c58070cad166","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b84577f80c28a04092b1c58070cad166"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.386956,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b84577f80c28a04092b1c58070cad166","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b84577f80c28a04092b1c58070cad166","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"eefb3dcf-c4d8-4385-9c0a-81ddc0832173","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.6597228} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b84577f80c28a04092b1c58070cad166","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b84577f80c28a04092b1c58070cad166"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b84577f80c28a04092b1c58070cad166"} device-1 | {"level":"info","message":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? 200 20ms","method":"GET","requestID":"b84577f80c28a04092b1c58070cad166","responseTime":20,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"ce415af1218b5489f0b1f8db9985b486"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce415af1218b5489f0b1f8db9985b486","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce415af1218b5489f0b1f8db9985b486"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209299,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ce415af1218b5489f0b1f8db9985b486","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce415af1218b5489f0b1f8db9985b486","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.567123402Z"}]},"request_id":"4853f139-e40d-439e-9586-f8a3eef4db22","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.6853094} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ce415af1218b5489f0b1f8db9985b486","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce415af1218b5489f0b1f8db9985b486"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce415af1218b5489f0b1f8db9985b486"} device-1 | {"level":"info","message":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? 200 18ms","method":"GET","requestID":"ce415af1218b5489f0b1f8db9985b486","responseTime":18,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4f2c08a55f471153aa26fb98e393c8e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.4469,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b4f2c08a55f471153aa26fb98e393c8e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4f2c08a55f471153aa26fb98e393c8e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to run experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to book experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully booked experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666962,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9813,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"cd080ca3-8809-4151-bc90-6460389bfd36","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.7742805} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.567123402Z"}]},"request_id":"42f15e42-69e0-4062-acf2-fdbd07f59ab4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.7754385} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? 200 22ms","method":"GET","requestID":"388ac890-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? 200 21ms","method":"GET","requestID":"388b16b0-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Setting up experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully set up experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38983610-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully running experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46858","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.48262,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.069984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.963923,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56d68d3c-c91d-4bc8-98a3-3458d7a97053","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.8579252} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"38983610-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","rebac_allow":false,"scope_allow":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":"38983610-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"c52b7118-8f84-4efb-9806-b4a1c8487b23","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.868958} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38983610-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling 200 23ms","method":"POST","requestID":"38983610-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"389c2db0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.567123402Z"}]},"request_id":"ec9a328d-77b9-4a24-b3b9-5c340c46f1f0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.8716962} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? 200 34ms","method":"GET","requestID":"389799d0-e346-11ef-bee8-fdb657b9cb09","responseTime":34,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b4067f1-8481-45e8-859d-ab924f045151#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b4067f1-8481-45e8-859d-ab924f045151","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1afe927c-5592-4b11-9839-57c1e8cfd1ba","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.8772333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0ba58cd-dc4e-448e-a48d-8a99797dfddb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.8777266} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? 200 36ms","method":"GET","requestID":"3897e7f0-e346-11ef-bee8-fdb657b9cb09","responseTime":36,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"b4f2c08a55f471153aa26fb98e393c8e","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.893925,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"651cf964-141b-4f3a-9ab3-169190f4d630","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.8840542} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"389ddb60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"389c2db0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","rebac_allow":false,"scope_allow":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":"389c2db0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"389c2db0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling 200 18ms","method":"POST","requestID":"389c2db0-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b7a1174-9613-475d-baec-35426338ffde","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.894427} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.774174,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"389ddb60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","rebac_allow":false,"scope_allow":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":"389ddb60-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"b4f2c08a55f471153aa26fb98e393c8e","responseTime":197,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"389ddb60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling 200 14ms","method":"POST","requestID":"389ddb60-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38a04c60-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98757,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ee8ee556dedb18dfaa2088c9649cf4ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72dff7bf-cfcf-4b54-98f6-082c3031837f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.9073217} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.904251,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"38a04c60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"38a04c60-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.519405123Z"}]},"request_id":"5b6df937-575b-4b6f-a32f-376ed46a9502","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.911627} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38a04c60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling 200 10ms","method":"POST","requestID":"38a04c60-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Building connection plan","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1c659e7f-c3a8-4814-b40c-c42e7368bdab"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"48815967-1fb2-40cc-aabb-9a226e720a76"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"facd0df9-c9c1-4c3f-8a59-cd53ba60bc70"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea"} device-1 | {"level":"info","message":"GET /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf? 200 14ms","method":"GET","requestID":"ee8ee556dedb18dfaa2088c9649cf4ea","responseTime":14,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf?"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.894572,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY","level":"info","message":"auth send jwt","requestID":"0c740e8b7b9121d01f28020d82e11db7"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c740e8b7b9121d01f28020d82e11db7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0c740e8b7b9121d01f28020d82e11db7"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.078859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0c740e8b7b9121d01f28020d82e11db7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707620,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyMH0.JrEeKeJoL5Gm3jOUEK_9QkRCqHCrni2WBO7gERaiXcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0c740e8b7b9121d01f28020d82e11db7","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:18.567123402Z"}]},"request_id":"e9979940-ba8e-4360-b679-7dd5df79f06c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.9317358} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0c740e8b7b9121d01f28020d82e11db7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2954d312-ea95-4583-b76e-6df2843e3298","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.9329839} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6d15d1f-3d21-4daf-8f63-18943097091e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707620.93344} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0c740e8b7b9121d01f28020d82e11db7"} device-1 | {"level":"info","message":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? 200 12ms","method":"GET","requestID":"0c740e8b7b9121d01f28020d82e11db7","responseTime":12,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1? 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":"0c740e8b7b9121d01f28020d82e11db7"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c'","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c'","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"38a24830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","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/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b4f2c08a55f471153aa26fb98e393c8e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38aea440-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:20Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44a5040d-e6c9-407c-97e0-c04a98080dfa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707621.001613} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879306,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"38aea440-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"38aea440-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38aea440-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling 200 11ms","method":"POST","requestID":"38aea440-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"38b0a010-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c0b8961-0bea-4ae1-9e37-f31a9e132c56","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707621.0134494} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.224723,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"38b0a010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"38b0a010-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"38b0a010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling 200 9ms","method":"POST","requestID":"38b0a010-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling"} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7172216758551953617 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:NVU9\r\na=ice-pwd:igwizFe1qD6QVxdtAg1z3ee2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 43:B2:44:E3:ED:C8:63:BC:34:82:15:4D:7F:B1:56:A8:08:BF:5C:BF:CF:99:5B:9D:3F:2E:09:D6:91:C3:27:7D\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1744008580 1 udp 2113937151 925ada44-13ff-494f-a014-5b736a0338a1.local 43143 typ host generation 0 ufrag NVU9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1660648156 1 udp 1677729535 141.24.211.56 43143 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag NVU9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","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/b5d728d2-dc73-4792-9fab-3e105509d40c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.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":"790813c56e7a5decef59b091b775bc91","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"790813c56e7a5decef59b091b775bc91","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1'"} 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/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"}}},"level":"info","message":"received a callback","requestID":"790813c56e7a5decef59b091b775bc91"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"790813c56e7a5decef59b091b775bc91","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"790813c56e7a5decef59b091b775bc91"} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","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/b5d728d2-dc73-4792-9fab-3e105509d40c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2768a6fe735d059959ddf1771c9661af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2768a6fe735d059959ddf1771c9661af","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/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"}}},"level":"info","message":"received a callback","requestID":"2768a6fe735d059959ddf1771c9661af"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"39f9c1e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb5d728d2-dc73-4792-9fab-3e105509d40c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b7be36f-2dc3-450f-9207-524b1963145a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.1725078} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.278395,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"39f9c1e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","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":"39f9c1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"39f9c1e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c 200 49ms","method":"GET","requestID":"39f9c1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":49,"status":200,"url":"/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 83ms","method":"POST","requestID":"2768a6fe735d059959ddf1771c9661af","responseTime":83,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch","requestID":"2768a6fe735d059959ddf1771c9661af"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a05a8c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a95ddf00-f595-4ae7-aa7a-3f92bc5b01f9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.2513273} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.263728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a05a8c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","rebac_allow":false,"scope_allow":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":"3a05a8c0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a05a8c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling 200 16ms","method":"POST","requestID":"3a05a8c0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a088ef0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae3dd4f7-ad41-4ecb-ba0b-0c44596cf8e8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.270126} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.162226,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a088ef0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","rebac_allow":false,"scope_allow":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":"3a088ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a088ef0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling 200 15ms","method":"POST","requestID":"3a088ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w","level":"info","message":"auth send jwt","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3b4067f1-8481-45e8-859d-ab924f045151","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.272711,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707623,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3b4067f1-8481-45e8-859d-ab924f045151","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3b4067f1-8481-45e8-859d-ab924f045151 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673"} experiment-1 | {"level":"info","message":"GET /experiments/3b4067f1-8481-45e8-859d-ab924f045151 200 15ms","method":"GET","requestID":"d1ffff2d2c7ad4a1bb05c19bc20dd673","responseTime":15,"status":200,"url":"/experiments/3b4067f1-8481-45e8-859d-ab924f045151"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w","level":"info","message":"auth send jwt","requestID":"5281310eab99934e5320443b82acda36"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5281310eab99934e5320443b82acda36","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3b4067f1-8481-45e8-859d-ab924f045151","requestID":"5281310eab99934e5320443b82acda36"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.187819,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5281310eab99934e5320443b82acda36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707623,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5281310eab99934e5320443b82acda36","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Attempting to finish experiment","requestID":"5281310eab99934e5320443b82acda36"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.187038,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707623,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c","device":"f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4888216-8a9a-45e1-9b36-2b5b193214bf","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/b5d728d2-dc73-4792-9fab-3e105509d40c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb5d728d2-dc73-4792-9fab-3e105509d40c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb5d728d2-dc73-4792-9fab-3e105509d40c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"b158ab54-7934-45a1-b58f-fea02bc65088","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.4533305} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aebdb9d99330f31ec7813c95f831f1d7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49f8158b-9ab3-447a-b950-1ee997222164","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.4540966} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aebdb9d99330f31ec7813c95f831f1d7","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f64e5821bebbde7a390cff9dffcc630","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"}}},"level":"info","message":"received a callback","requestID":"aebdb9d99330f31ec7813c95f831f1d7"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f64e5821bebbde7a390cff9dffcc630","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/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"}}},"level":"info","message":"received a callback","requestID":"9f64e5821bebbde7a390cff9dffcc630"} device-1 | {"data":{"peerconnection":"b5d728d2-dc73-4792-9fab-3e105509d40c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c 204 55ms","method":"DELETE","requestID":"3a214710-e346-11ef-bee8-fdb657b9cb09","responseTime":55,"status":204,"url":"/peerconnections/b5d728d2-dc73-4792-9fab-3e105509d40c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b4067f1-8481-45e8-859d-ab924f045151"},"level":"info","message":"Successfully finished experiment","requestID":"5281310eab99934e5320443b82acda36"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a2dca30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39bcaf6f-edd8-4fcf-8cf3-d7472ff55cb3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.5135808} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.939583,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a2dca30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1","object_type":"device","rebac_allow":false,"scope_allow":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":"3a2dca30-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a2dca30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling 200 14ms","method":"POST","requestID":"3a2dca30-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b4067f1-8481-45e8-859d-ab924f045151': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b4067f1-8481-45e8-859d-ab924f045151","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"75da199f-d142-4dd6-86cb-c3bea79edce9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.5213714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e1fdd47-cf0e-45bf-bb3c-dad7847afafd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.5219138} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"5281310eab99934e5320443b82acda36","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a30b060-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4888216-8a9a-45e1-9b36-2b5b193214bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9223841d-6b34-46f7-bb09-b87dedf9fd8b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.5332117} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.947456,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a30b060-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf","object_type":"device","rebac_allow":false,"scope_allow":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":"3a30b060-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a30b060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling 200 15ms","method":"POST","requestID":"3a30b060-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3b4067f1-8481-45e8-859d-ab924f045151","requestID":"5281310eab99934e5320443b82acda36"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3b4067f1-8481-45e8-859d-ab924f045151 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5281310eab99934e5320443b82acda36"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.479","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d1f4a8ff167e5512c81a0f4fb6c196d3"} experiment-1 | {"level":"info","message":"DELETE /experiments/3b4067f1-8481-45e8-859d-ab924f045151 204 184ms","method":"DELETE","requestID":"5281310eab99934e5320443b82acda36","responseTime":184,"status":204,"url":"/experiments/3b4067f1-8481-45e8-859d-ab924f045151"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"aebdb9d99330f31ec7813c95f831f1d7","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"aebdb9d99330f31ec7813c95f831f1d7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"9f64e5821bebbde7a390cff9dffcc630","responseTime":138,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w","level":"info","message":"auth send jwt","requestID":"97a93e11297b5de0e62f38d1bcda77d8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f64e5821bebbde7a390cff9dffcc630"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97a93e11297b5de0e62f38d1bcda77d8","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.985","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c14fd20abd088e7ac499f8946cf1936c"} device-1 | {"level":"info","message":"postDevices called","requestID":"97a93e11297b5de0e62f38d1bcda77d8"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925593,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"97a93e11297b5de0e62f38d1bcda77d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707623,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","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/f9e8fc8d-feb5-4231-92ae-92ea9f87a7d1' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8ce62cb-069c-47f2-bd89-078b678c70de","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.630456} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d4888216-8a9a-45e1-9b36-2b5b193214bf' 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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61ff8510-a763-4ee6-ac22-b638a67109fe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.636189} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"c7f5aa8f-fcbb-4cf0-8e1c-af980a6daa97","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6464853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73ff0c91-1c88-4c52-a58a-fd71939d1e6e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6467419} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.646464267Z"}]},"request_id":"bd920bf1-22d3-46b7-83ea-c77a24273628","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6512008} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"97a93e11297b5de0e62f38d1bcda77d8"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"97a93e11297b5de0e62f38d1bcda77d8","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97a93e11297b5de0e62f38d1bcda77d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w","level":"info","message":"auth send jwt","requestID":"254362dbcf0aa586b9359cb7bed9728d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"254362dbcf0aa586b9359cb7bed9728d"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.702816,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"254362dbcf0aa586b9359cb7bed9728d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707623,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyM30.YKNJrmssoalAHDXDtUCFqL2jeTdXYjFMzQXtgrGtx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c5b1db3-f095-4743-8947-eeacd42b58df","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6750917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77211b1d-a610-42fe-89af-18e78b286d78","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6794975} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"ba71d71d-1a3f-4251-bdbc-7b23d940b781","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.68923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a919a592-7f3f-4ba4-8e32-f7268c356cf8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6893923} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.689206898Z"}]},"request_id":"988b1116-7c91-46c7-b96c-43402d42ece8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707623.6937385} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"254362dbcf0aa586b9359cb7bed9728d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"254362dbcf0aa586b9359cb7bed9728d"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"254362dbcf0aa586b9359cb7bed9728d","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ccda1c09c611e55f6a97c36084d6c36","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ccda1c09c611e55f6a97c36084d6c36","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/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":"5ccda1c09c611e55f6a97c36084d6c36"} device-1 | {"level":"info","message":"OPTIONS /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/websocket 200 1ms","method":"OPTIONS","requestID":"5ccda1c09c611e55f6a97c36084d6c36","responseTime":1,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c1a7e0cf141d18d58d9760dde55911b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c1a7e0cf141d18d58d9760dde55911b9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/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":"c1a7e0cf141d18d58d9760dde55911b9"} device-1 | {"level":"info","message":"OPTIONS /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/websocket 200 1ms","method":"OPTIONS","requestID":"c1a7e0cf141d18d58d9760dde55911b9","responseTime":1,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U","level":"info","message":"auth send jwt","requestID":"f3ff781edf4586ec831f7e711312c03c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f3ff781edf4586ec831f7e711312c03c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f3ff781edf4586ec831f7e711312c03c"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U","level":"info","message":"auth send jwt","requestID":"017d7b9b9df8791a795fc0c52dfffd35"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.217621,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"017d7b9b9df8791a795fc0c52dfffd35","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"017d7b9b9df8791a795fc0c52dfffd35"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f3ff781edf4586ec831f7e711312c03c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f3ff781edf4586ec831f7e711312c03c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383416,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"017d7b9b9df8791a795fc0c52dfffd35","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"017d7b9b9df8791a795fc0c52dfffd35","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f3ff781edf4586ec831f7e711312c03c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f3ff781edf4586ec831f7e711312c03c"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/websocket 200 42ms","method":"POST","requestID":"f3ff781edf4586ec831f7e711312c03c","responseTime":42,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"017d7b9b9df8791a795fc0c52dfffd35"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/websocket 200 49ms","method":"POST","requestID":"017d7b9b9df8791a795fc0c52dfffd35","responseTime":49,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"017d7b9b9df8791a795fc0c52dfffd35"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U","level":"info","message":"auth send jwt","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312936,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.646464267Z"}]},"request_id":"1c28accf-d46b-4b9c-8375-fe926708a59d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.778409} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92"} device-1 | {"level":"info","message":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? 200 18ms","method":"GET","requestID":"27aded618efbe9bd4fa3dd6f4dc6fe92","responseTime":18,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U","level":"info","message":"auth send jwt","requestID":"f2858530a6de45dc768bcb988df026a2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f2858530a6de45dc768bcb988df026a2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2858530a6de45dc768bcb988df026a2"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205332,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f2858530a6de45dc768bcb988df026a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2858530a6de45dc768bcb988df026a2","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.689206898Z"}]},"request_id":"0253c58f-3c62-4d09-8ae5-6fbca516dcbe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.803948} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f2858530a6de45dc768bcb988df026a2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2858530a6de45dc768bcb988df026a2"} device-1 | {"level":"info","message":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? 200 17ms","method":"GET","requestID":"f2858530a6de45dc768bcb988df026a2","responseTime":17,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2858530a6de45dc768bcb988df026a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U","level":"info","message":"auth send jwt","requestID":"62f146254723b57ac824ce61879daf84"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"62f146254723b57ac824ce61879daf84","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"62f146254723b57ac824ce61879daf84"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.317791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62f146254723b57ac824ce61879daf84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62f146254723b57ac824ce61879daf84","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to run experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to book experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully booked experiment","requestID":"62f146254723b57ac824ce61879daf84"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601008,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993018,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.646464267Z"}]},"request_id":"a9a23112-e58a-4efe-bef6-f050b6c1d7a6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.900673} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.689206898Z"}]},"request_id":"3392161a-a625-42ba-b969-8ab054823e7e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.902096} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? 200 19ms","method":"GET","requestID":"3b994110-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? 200 18ms","method":"GET","requestID":"3b998f30-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Setting up experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully set up experiment","requestID":"62f146254723b57ac824ce61879daf84"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ba61250-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.419988,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully running experiment","requestID":"62f146254723b57ac824ce61879daf84"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.982522,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.148271,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:25Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"484a23fa-782a-4bb3-bb8f-ba3b91e31cb9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.9842803} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ba61250-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","rebac_allow":false,"scope_allow":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":"3ba61250-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.689206898Z"}]},"request_id":"0f94fb3b-4f80-4ec7-8026-78af82b687b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.9888186} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ba61250-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling 200 21ms","method":"POST","requestID":"3ba61250-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ba9bbd0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","method":"POST","requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.646464267Z"}]},"request_id":"0970a2ea-a769-4c0c-9c46-1eca564cc4a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.9926202} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0823515b-2e69-442c-bd43-9fc2d14e123b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0823515b-2e69-442c-bd43-9fc2d14e123b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"8970da65-c19c-4a11-a7b7-f4596445e9bd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707625.9972396} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} device-1 | {"level":"info","message":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? 200 33ms","method":"GET","requestID":"3ba59d20-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ed59509-93be-4e2b-8c79-0c69b2755ad6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.005874} device-1 | {"level":"info","message":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? 200 38ms","method":"GET","requestID":"3ba54f00-e346-11ef-bee8-fdb657b9cb09","responseTime":38,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"042031f2-3026-40d3-ba25-e138ab464e58","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.0061686} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"62f146254723b57ac824ce61879daf84","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.804643,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ba9bbd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","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":"3bab9090-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3ba9bbd0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ba9bbd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling 200 17ms","method":"POST","requestID":"3ba9bbd0-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64e431ff-4ac6-416a-9241-8360de14f85b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.01507} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.391876,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bab9090-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","rebac_allow":false,"scope_allow":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":"3bab9090-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"62f146254723b57ac824ce61879daf84"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"62f146254723b57ac824ce61879daf84","responseTime":201,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bab9090-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling 200 12ms","method":"POST","requestID":"3bab9090-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3badb370-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"88df57931582c13a18366b63a8ceee02"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88df57931582c13a18366b63a8ceee02","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88df57931582c13a18366b63a8ceee02"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1860487-cdad-4d6c-b7d2-77d79b988818","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.0297124} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105067,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"88df57931582c13a18366b63a8ceee02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"88df57931582c13a18366b63a8ceee02","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.491525,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3badb370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","rebac_allow":false,"scope_allow":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":"3badb370-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.646464267Z"}]},"request_id":"0ce1effe-c246-47f1-a686-c590378d9175","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.0362773} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3badb370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"88df57931582c13a18366b63a8ceee02","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling 200 14ms","method":"POST","requestID":"3badb370-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Building connection plan","requestID":"62f146254723b57ac824ce61879daf84"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"95d17987-25a7-452a-af4d-1539257dceb7"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"28772fe7-be92-4b85-b46e-f85ef6cd42ff"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"9b3c40f3-e285-414b-ab45-dfffc33fe379"}]},"level":"info","message":"Built pairwise service configurations","requestID":"62f146254723b57ac824ce61879daf84"} 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/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"62f146254723b57ac824ce61879daf84"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88df57931582c13a18366b63a8ceee02"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? 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":"88df57931582c13a18366b63a8ceee02"} device-1 | {"level":"info","message":"GET /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40? 200 16ms","method":"GET","requestID":"88df57931582c13a18366b63a8ceee02","responseTime":16,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.002083,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"42965033e2ec9179fa288b25e3a54e07"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42965033e2ec9179fa288b25e3a54e07","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707625,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNX0.HbRhaidJDhrF87wHtdT89ZHWStG3KjvW2uCzTQT0b3U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42965033e2ec9179fa288b25e3a54e07"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221228,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42965033e2ec9179fa288b25e3a54e07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42965033e2ec9179fa288b25e3a54e07","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:23.689206898Z"}]},"request_id":"063cb426-4d64-4b6d-9b2a-11f933e95620","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.0569322} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"42965033e2ec9179fa288b25e3a54e07","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"5421e225-3c18-4be5-ac99-da007531d25e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.058391} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fda6905-6473-48a8-8a4c-67b3d00b34bb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.0590937} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42965033e2ec9179fa288b25e3a54e07"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? 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":"42965033e2ec9179fa288b25e3a54e07"} device-1 | {"level":"info","message":"GET /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749? 200 15ms","method":"GET","requestID":"42965033e2ec9179fa288b25e3a54e07","responseTime":15,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c'","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c'","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} 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":"3bb099a0-e346-11ef-bee8-fdb657b9cb09","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":"3bb099a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"62f146254723b57ac824ce61879daf84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bbbbd30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6107d7c1-ed3d-4aad-9711-0bd8df681293","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.1196098} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420222,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bbbbd30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3bbbbd30-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bbbbd30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling 200 8ms","method":"POST","requestID":"3bbbbd30-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bbd43d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd9e2b8e-77ec-43d4-8773-cc671b386130","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.1295395} device-1 | {"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.515325,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bbd43d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3bbd43d0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bbd43d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling 200 10ms","method":"POST","requestID":"3bbd43d0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling"} device-1 | {"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6196038027111952684 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:ZKnw\r\na=ice-pwd:GcfUQZOPoGw4VxeYH59PVL5t\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BF:80:39:4A:69:AA:CD:3D:A0:8A:4B:1D:AB:76:47:EF:24:06:88:94:CE:9C:45:79:64:F8:31:7D:31:D1:B7:AE\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7034738338321766019 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:XN5b\r\na=ice-pwd:wDeeRciN8ulLp0kyNFNstsP6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1D:E7:BF:DA:C2:79:89:A7:50:4B:ED:B7:E9:D0:8F:BA:7B:19:3B:00:CE:C4:43:7E:0D:62:22:F3:7F:FD:93:03\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:275494606 1 udp 2113937151 28c11c29-f29f-4240-9cd1-025c6a7fbe91.local 34394 typ host generation 0 ufrag XN5b network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","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/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40'"} device-1 | {"content":{"candidate":"candidate:358857110 1 udp 1677729535 141.24.211.56 34394 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag XN5b network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","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/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40'"} device-1 | {"content":{"candidate":"candidate:2923579152 1 udp 2113937151 ec13f84e-3480-4f38-876d-525e36984c1f.local 52882 typ host generation 0 ufrag ZKnw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2873772104 1 udp 1677729535 141.24.211.56 52882 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag ZKnw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","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/e0360da5-1a11-41fa-9d3b-dcbfb16ff749'"} device-1 | {"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","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/0635ec77-1459-4b2a-84fc-e055b941ff0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0635ec77-1459-4b2a-84fc-e055b941ff0c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2660a263f477790ba753183cfc02faf9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2660a263f477790ba753183cfc02faf9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"}}},"level":"info","message":"received a callback","requestID":"2660a263f477790ba753183cfc02faf9"} device-1 | {"device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2660a263f477790ba753183cfc02faf9","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"2660a263f477790ba753183cfc02faf9"} device-1 | {"data":{"peerconnection":"0635ec77-1459-4b2a-84fc-e055b941ff0c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0635ec77-1459-4b2a-84fc-e055b941ff0c","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/0635ec77-1459-4b2a-84fc-e055b941ff0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0635ec77-1459-4b2a-84fc-e055b941ff0c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0d679c76f638aca898b3df2295e4b67e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0d679c76f638aca898b3df2295e4b67e","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/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"}}},"level":"info","message":"received a callback","requestID":"0d679c76f638aca898b3df2295e4b67e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3bcb2680-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0635ec77-1459-4b2a-84fc-e055b941ff0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46a9e826-15db-4269-b013-2912ca29e3ad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.2212462} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.787363,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bcb2680-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","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":"3bcb2680-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3bcb2680-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c 200 9ms","method":"GET","requestID":"3bcb2680-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"0d679c76f638aca898b3df2295e4b67e","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"0d679c76f638aca898b3df2295e4b67e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bcfba60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fe52811-31fc-4d64-bb8d-c2f48f0f7769","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.251248} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bcfba60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3bcfba60-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bcfba60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling 200 10ms","method":"POST","requestID":"3bcfba60-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bd18f20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b476ae03-997e-4e7d-851e-58c3f6cb84ab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.2632449} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814199,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bd18f20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3bd18f20-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bd18f20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling 200 11ms","method":"POST","requestID":"3bd18f20-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"e6a66958c1b2056fde6b67578b45bdeb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e6a66958c1b2056fde6b67578b45bdeb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","requestID":"e6a66958c1b2056fde6b67578b45bdeb"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.741198,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e6a66958c1b2056fde6b67578b45bdeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6a66958c1b2056fde6b67578b45bdeb","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","requestID":"e6a66958c1b2056fde6b67578b45bdeb"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6a66958c1b2056fde6b67578b45bdeb"} experiment-1 | {"level":"info","message":"GET /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b 200 16ms","method":"GET","requestID":"e6a66958c1b2056fde6b67578b45bdeb","responseTime":16,"status":200,"url":"/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f0dd878de9e4f77a1bdc181b7493e584","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.182268,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f0dd878de9e4f77a1bdc181b7493e584","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f0dd878de9e4f77a1bdc181b7493e584","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Attempting to finish experiment","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.354718,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","device":"5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c","device":"e0360da5-1a11-41fa-9d3b-dcbfb16ff749","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/0635ec77-1459-4b2a-84fc-e055b941ff0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0635ec77-1459-4b2a-84fc-e055b941ff0c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0635ec77-1459-4b2a-84fc-e055b941ff0c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0635ec77-1459-4b2a-84fc-e055b941ff0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"cdbb67e1-c6e5-44c7-a91d-874508a3aafd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.4953177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95290185-cef6-423e-b5cc-648d47f27934","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.4960415} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"999f5f2013b9876585a36008ce287da0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"999f5f2013b9876585a36008ce287da0","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":"closed","url":"http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"}}},"level":"info","message":"received a callback","requestID":"999f5f2013b9876585a36008ce287da0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a0dbdefde478bb1f7a2bb1b380773ee9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a0dbdefde478bb1f7a2bb1b380773ee9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"}}},"level":"info","message":"received a callback","requestID":"a0dbdefde478bb1f7a2bb1b380773ee9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c 204 43ms","method":"DELETE","requestID":"3bf25d90-e346-11ef-bee8-fdb657b9cb09","responseTime":43,"status":204,"url":"/peerconnections/0635ec77-1459-4b2a-84fc-e055b941ff0c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"},"level":"info","message":"Successfully finished experiment","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bfc2190-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10283ed7-4a4e-4676-b691-8fb6b34933bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.5449996} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.51907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bfc2190-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40","object_type":"device","rebac_allow":false,"scope_allow":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":"3bfc2190-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0823515b-2e69-442c-bd43-9fc2d14e123b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0823515b-2e69-442c-bd43-9fc2d14e123b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"db5dc429-71ad-4768-8647-7db2fc43948c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.55152} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bfc2190-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling 200 15ms","method":"POST","requestID":"3bfc2190-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8197daf3-f01a-46ee-9895-3e24bccfe8e1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.5521061} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"f0dd878de9e4f77a1bdc181b7493e584","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3bfee0b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0360da5-1a11-41fa-9d3b-dcbfb16ff749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6cfb53b8-c219-4b5a-b923-b603e8a618d4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.5630307} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.252675,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3bfee0b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749","object_type":"device","rebac_allow":false,"scope_allow":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":"3bfee0b0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3bfee0b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling 200 14ms","method":"POST","requestID":"3bfee0b0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0dd878de9e4f77a1bdc181b7493e584"} experiment-1 | {"level":"info","message":"DELETE /experiments/0823515b-2e69-442c-bd43-9fc2d14e123b 204 165ms","method":"DELETE","requestID":"f0dd878de9e4f77a1bdc181b7493e584","responseTime":165,"status":204,"url":"/experiments/0823515b-2e69-442c-bd43-9fc2d14e123b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"999f5f2013b9876585a36008ce287da0","responseTime":126,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"3f82451a722de09623ad17dc7ab7411d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"a0dbdefde478bb1f7a2bb1b380773ee9","responseTime":124,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f82451a722de09623ad17dc7ab7411d","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"999f5f2013b9876585a36008ce287da0"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"a0dbdefde478bb1f7a2bb1b380773ee9"} device-1 | {"level":"info","message":"postDevices called","requestID":"3f82451a722de09623ad17dc7ab7411d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2629","request_time":"0.903","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"58ff69a01f1fd37c7c62f2e9ab44b0e6"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2631","request_time":"0.890","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"324677ec54fdc184b7e432a03c66482f"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7926,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3f82451a722de09623ad17dc7ab7411d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","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/5e6a2b04-d546-4cb4-95cb-2d67e0b99a40' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e0360da5-1a11-41fa-9d3b-dcbfb16ff749' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a7cb71a2-245f-48fa-bfca-678dfd97bbe4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.6516602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"175a69d0-a558-45dd-9ce9-2587afaa9693","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.6564627} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"fad58570-9e84-4abc-9b41-253d3a1c6f12","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.6643062} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"629b1c77-91a0-41ab-9929-ddde00032b1b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.6645052} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.664290128Z"}]},"request_id":"4e7b750c-fc2e-46be-9ba4-88e4e25a6fe2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.668335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3f82451a722de09623ad17dc7ab7411d"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"3f82451a722de09623ad17dc7ab7411d","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f82451a722de09623ad17dc7ab7411d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig","level":"info","message":"auth send jwt","requestID":"00b15c441c43cdf45eea93053f568934"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00b15c441c43cdf45eea93053f568934","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"00b15c441c43cdf45eea93053f568934"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.798863,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"00b15c441c43cdf45eea93053f568934","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707626,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyNn0.l7EeaHnyNQL1QDHyGPDOqi3eO3dqdAGmprlxy9hG8Ig"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6d733232-c395-4f89-82df-886cd86d165e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.6915717} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35ab9af0-5bd4-468c-a6d8-eb886efa6d42","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.69581} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"09335d10-003a-4ef3-bc2a-ac311317bf8c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.7053897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f035751-d716-4885-95d6-52990a7cd2ac","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.7055998} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"593ccbf1-8444-4bd2-990d-d7a55fa5971f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707626.7098088} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"00b15c441c43cdf45eea93053f568934"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"00b15c441c43cdf45eea93053f568934","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00b15c441c43cdf45eea93053f568934"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyN30.SQk0Ev0gfbkLEL7BI-9jT62uQFCe683rVqsIO49QatQ","level":"info","message":"auth send jwt","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670297,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707627,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyN30.SQk0Ev0gfbkLEL7BI-9jT62uQFCe683rVqsIO49QatQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"49ac9115-8450-4bda-8e5a-0b83fdef11fb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707627.1938834} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85d00072-335e-409b-bfa0-3c1118b0c11a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707627.2005677} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"8fb29376-0819-4e49-ace9-764b823ea24e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707627.2201483} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f"} device-1 | {"level":"info","message":"PATCH /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e 200 43ms","method":"PATCH","requestID":"4b5b6c2906a1b42b8af3b60f8573d76f","responseTime":43,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyN30.SQk0Ev0gfbkLEL7BI-9jT62uQFCe683rVqsIO49QatQ","level":"info","message":"auth send jwt","requestID":"2fbd71e3159ae166f95c8eacb9a88152"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2fbd71e3159ae166f95c8eacb9a88152","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2fbd71e3159ae166f95c8eacb9a88152"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341008,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2fbd71e3159ae166f95c8eacb9a88152","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707627,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyN30.SQk0Ev0gfbkLEL7BI-9jT62uQFCe683rVqsIO49QatQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2fbd71e3159ae166f95c8eacb9a88152","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2fbd71e3159ae166f95c8eacb9a88152"} gateway-1 | {"time_local":"04/Feb/2025:22:20:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2fbd71e3159ae166f95c8eacb9a88152"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/websocket 200 21ms","method":"POST","requestID":"2fbd71e3159ae166f95c8eacb9a88152","responseTime":21,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"353477d578cc01286007ed614241ec23","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"353477d578cc01286007ed614241ec23","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/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":"353477d578cc01286007ed614241ec23"} device-1 | {"level":"info","message":"OPTIONS /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/websocket 200 1ms","method":"OPTIONS","requestID":"353477d578cc01286007ed614241ec23","responseTime":1,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs","level":"info","message":"auth send jwt","requestID":"7669d0c2b06843da184b06261544fcd9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7669d0c2b06843da184b06261544fcd9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7669d0c2b06843da184b06261544fcd9"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201737,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7669d0c2b06843da184b06261544fcd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7669d0c2b06843da184b06261544fcd9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7669d0c2b06843da184b06261544fcd9"} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/websocket 200 47ms","method":"POST","requestID":"7669d0c2b06843da184b06261544fcd9","responseTime":47,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7669d0c2b06843da184b06261544fcd9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs","level":"info","message":"auth send jwt","requestID":"be157173d76150229ed44da385a8a158"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"be157173d76150229ed44da385a8a158","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be157173d76150229ed44da385a8a158"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270533,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"be157173d76150229ed44da385a8a158","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be157173d76150229ed44da385a8a158","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.664290128Z"}]},"request_id":"c7d5f655-6e04-49c3-9b9b-7f2ca80c1702","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.8112898} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"be157173d76150229ed44da385a8a158","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be157173d76150229ed44da385a8a158"} gateway-1 | {"time_local":"04/Feb/2025:22:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 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":"be157173d76150229ed44da385a8a158"} device-1 | {"level":"info","message":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 200 18ms","method":"GET","requestID":"be157173d76150229ed44da385a8a158","responseTime":18,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs","level":"info","message":"auth send jwt","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160492,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"09d3b23fdb4cabfb7df9781ab3b7af11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"d7d4d081-bad5-4f2a-810f-3cde8430666c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.8339546} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11"} gateway-1 | {"time_local":"04/Feb/2025:22:20:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11"} device-1 | {"level":"info","message":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? 200 17ms","method":"GET","requestID":"09d3b23fdb4cabfb7df9781ab3b7af11","responseTime":17,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs","level":"info","message":"auth send jwt","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"06b0e54e6df7a2d58b2d18431fa38f38","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.325547,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"06b0e54e6df7a2d58b2d18431fa38f38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06b0e54e6df7a2d58b2d18431fa38f38","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to run experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to book experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully booked experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174235,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.58263,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.664290128Z"}]},"request_id":"e244bb1d-7ee7-4fa0-9c6f-764e044a2a4e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.9119263} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"906157ed-1289-4246-9cb7-b25d623a850d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.9133205} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 200 22ms","method":"GET","requestID":"3d64b240-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? 200 21ms","method":"GET","requestID":"3d650060-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Setting up experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully locked booking for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to update booking for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully updated booking for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully set up experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d71d1a0-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully running experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.776114,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39406","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.378964,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d44eacc6-1d70-427a-abe1-d0d5ba30ba70","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.99563} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.399658,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d71d1a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","rebac_allow":false,"scope_allow":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":"3d71d1a0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.664290128Z"}]},"request_id":"57038330-4fdd-47c9-a75b-d7aa8b7917aa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707628.9992735} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d71d1a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"16c2bb90-947b-4ad8-a4ae-6e077bd25bf5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0036683} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling 200 19ms","method":"POST","requestID":"3d71d1a0-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F464a4d86-7ab5-4dda-b005-a1cc27fe7c73#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F464a4d86-7ab5-4dda-b005-a1cc27fe7c73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"fdda14a6-ef72-4bcd-ba3d-2adc852685bb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0100927} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d757b20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d67934b-9a82-4600-b106-ddbd4b112ade","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0103102} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"06b0e54e6df7a2d58b2d18431fa38f38","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} device-1 | {"level":"info","message":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 200 34ms","method":"GET","requestID":"3d713560-e346-11ef-bee8-fdb657b9cb09","responseTime":34,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? 200 33ms","method":"GET","requestID":"3d718380-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54823da7-701d-4a5b-84ad-840d9d574be2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0188925} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.516633,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d757b20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","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":"3d774fe0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"3d757b20-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"06b0e54e6df7a2d58b2d18431fa38f38","responseTime":180,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d757b20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling 200 18ms","method":"POST","requestID":"3d757b20-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d73b7b7d-9053-4521-a49f-82f533f7661c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0296533} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.104027,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d774fe0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","rebac_allow":false,"scope_allow":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":"3d774fe0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOX0.JBnn9BiO_vi805NXbSB6luKqQsQp8ODn2LsY9phv6gU","level":"info","message":"auth send jwt","requestID":"2459f88809379eda667abefd2d61b264"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2459f88809379eda667abefd2d61b264","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2459f88809379eda667abefd2d61b264"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d774fe0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling 200 15ms","method":"POST","requestID":"3d774fe0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293176,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2459f88809379eda667abefd2d61b264","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707629,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOX0.JBnn9BiO_vi805NXbSB6luKqQsQp8ODn2LsY9phv6gU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2459f88809379eda667abefd2d61b264","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d7a0f00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7047cd91-b59d-48dd-92e6-8c8f7f0f085d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0461743} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.55224,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d7a0f00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3d7a0f00-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.664290128Z"}]},"request_id":"536b0c51-5355-48a9-855b-105ecd1c1138","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0472262} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2459f88809379eda667abefd2d61b264","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d7a0f00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling 200 12ms","method":"POST","requestID":"3d7a0f00-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2459f88809379eda667abefd2d61b264"} gateway-1 | {"time_local":"04/Feb/2025:22:20:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 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":"2459f88809379eda667abefd2d61b264"} device-1 | {"level":"info","message":"GET /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731? 200 19ms","method":"GET","requestID":"2459f88809379eda667abefd2d61b264","responseTime":19,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Building connection plan","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"32d8bf9a-7e46-4804-a120-f8bfec887beb"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"0a38e4f1-4e4c-404a-8f0b-ba8d62a4111a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"2b295e77-8d1d-453e-b4a4-1dcdd5ee1df8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} 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/c36a41e3-eb81-4e83-b6d1-44a76aaad731"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOX0.JBnn9BiO_vi805NXbSB6luKqQsQp8ODn2LsY9phv6gU","level":"info","message":"auth send jwt","requestID":"be7bad670028b93f4ab78ec74a7cd4e8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be7bad670028b93f4ab78ec74a7cd4e8","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be7bad670028b93f4ab78ec74a7cd4e8"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.897801,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707628,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOH0.yOuZJ7f6HMPcneM-hjjEV0Tr-OW8Z3GeHs3ivFEUINs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.576393,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"be7bad670028b93f4ab78ec74a7cd4e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707629,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYyOX0.JBnn9BiO_vi805NXbSB6luKqQsQp8ODn2LsY9phv6gU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be7bad670028b93f4ab78ec74a7cd4e8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:26.705374774Z"}]},"request_id":"e9cb3497-14ad-4711-925a-0966620a7515","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0677762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be7bad670028b93f4ab78ec74a7cd4e8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"165eff39-3589-431e-92f7-44b6b6f933ef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.0687966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56aeae51-6638-4a7d-a8ea-5da2df27c75f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.069092} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be7bad670028b93f4ab78ec74a7cd4e8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be7bad670028b93f4ab78ec74a7cd4e8"} device-1 | {"level":"info","message":"GET /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e? 200 14ms","method":"GET","requestID":"be7bad670028b93f4ab78ec74a7cd4e8","responseTime":14,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c'","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c'","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} 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":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09","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":"3d7c58f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"06b0e54e6df7a2d58b2d18431fa38f38"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d883fd0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f36b789-2af6-4c23-8263-d73ea329e54b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.1389294} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.528588,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d883fd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3d883fd0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d883fd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling 200 12ms","method":"POST","requestID":"3d883fd0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3d8a62b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73601860-656c-484d-884a-760a737a5ecc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707629.151395} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465625,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3d8a62b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d8a62b0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3d8a62b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling 200 9ms","method":"POST","requestID":"3d8a62b0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling"} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6897720407791669842 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:A1Rp\r\na=ice-pwd:FwY+twZgLyYy18ey+lqnaC8Z\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BC:9F:C2:74:5B:4F:6D:B2:0B:F2:82:5C:26:C2:98:9F:06:B7:1A:CD:D2:82:C9:78:E6:DC:30:64:2E:DA:97:22\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3629562269 1 udp 2113937151 8648f166-ddbb-4dd2-8553-127a3c60b838.local 43807 typ host generation 0 ufrag A1Rp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:3490640474 1 udp 1677729535 141.24.211.56 43807 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag A1Rp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69c1c8c87b97ec32dad571626c492c3d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69c1c8c87b97ec32dad571626c492c3d","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/c36a41e3-eb81-4e83-b6d1-44a76aaad731"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"}}},"level":"info","message":"received a callback","requestID":"69c1c8c87b97ec32dad571626c492c3d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"69c1c8c87b97ec32dad571626c492c3d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"69c1c8c87b97ec32dad571626c492c3d"} device-1 | {"data":{"peerconnection":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","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/7a68088f-2653-4021-9d20-291c25dc334c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ff623064c2639779d52682462515523","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7ff623064c2639779d52682462515523","responseTime":2,"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/c36a41e3-eb81-4e83-b6d1-44a76aaad731"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"}}},"level":"info","message":"received a callback","requestID":"7ff623064c2639779d52682462515523"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3ed3f9b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7a68088f-2653-4021-9d20-291c25dc334c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bff4173a-ba52-4e72-9d4a-948652e66ba3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.3129382} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.795095,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ed3f9b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","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":"3ed3f9b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3ed3f9b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/7a68088f-2653-4021-9d20-291c25dc334c 200 11ms","method":"GET","requestID":"3ed3f9b0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"7ff623064c2639779d52682462515523","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ff623064c2639779d52682462515523"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ed86680-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9d42cfa-630b-46c6-b42b-969a0511e840","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.340515} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598843,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3ed86680-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3ed86680-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ed86680-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling 200 10ms","method":"POST","requestID":"3ed86680-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3eda1430-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f64d8c1-86c5-4fd2-b55f-bf8f2a8cef6f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.3522522} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.631491,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3eda1430-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3eda1430-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3eda1430-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling 200 10ms","method":"POST","requestID":"3eda1430-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY","level":"info","message":"auth send jwt","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.387751,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6e799403dceaf16f096bfc6fd5cc9fa5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707631,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5"} gateway-1 | {"time_local":"04/Feb/2025:22:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5"} experiment-1 | {"level":"info","message":"GET /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73 200 15ms","method":"GET","requestID":"6e799403dceaf16f096bfc6fd5cc9fa5","responseTime":16,"status":200,"url":"/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY","level":"info","message":"auth send jwt","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2237c1eeba77fd9228abcc2bce6c40e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.329707,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b2237c1eeba77fd9228abcc2bce6c40e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707631,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2237c1eeba77fd9228abcc2bce6c40e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Attempting to finish experiment","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.309392,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707631,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c","device":"c36a41e3-eb81-4e83-b6d1-44a76aaad731","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69b3fc3b-b904-44b2-a05c-147a7cfafd4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/7a68088f-2653-4021-9d20-291c25dc334c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7a68088f-2653-4021-9d20-291c25dc334c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7a68088f-2653-4021-9d20-291c25dc334c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7a68088f-2653-4021-9d20-291c25dc334c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"290cca2a-85f1-4198-b7b1-72e8214769e6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.639384} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65611e8a-94fa-4a88-a26a-76b6fb2c1c02","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.639512} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e037528155b4c6afdbdd79f665018b27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e037528155b4c6afdbdd79f665018b27","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b97fa954658f36b1f01ed93d5445b340","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"}}},"level":"info","message":"received a callback","requestID":"e037528155b4c6afdbdd79f665018b27"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b97fa954658f36b1f01ed93d5445b340","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"}}},"level":"info","message":"received a callback","requestID":"b97fa954658f36b1f01ed93d5445b340"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/7a68088f-2653-4021-9d20-291c25dc334c 204 46ms","method":"DELETE","requestID":"3f02d1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":46,"status":204,"url":"/peerconnections/7a68088f-2653-4021-9d20-291c25dc334c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"},"level":"info","message":"Successfully finished experiment","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f0d0b10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc36a41e3-eb81-4e83-b6d1-44a76aaad731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b257714-8213-48e1-82d2-966a686206c6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.685993} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.844871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3f0d0b10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3f0d0b10-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f0d0b10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling 200 10ms","method":"POST","requestID":"3f0d0b10-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/c36a41e3-eb81-4e83-b6d1-44a76aaad731/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3f0edfd0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F464a4d86-7ab5-4dda-b005-a1cc27fe7c73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F464a4d86-7ab5-4dda-b005-a1cc27fe7c73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"011c6e8b-c698-4d90-907d-cabcb5838f73","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.6946034} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b670e394-3324-4337-b931-9b5786bf6bb1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.694916} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"b2237c1eeba77fd9228abcc2bce6c40e","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69b3fc3b-b904-44b2-a05c-147a7cfafd4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d61f2fb5-471b-4a1e-a01b-61ba2b36e81c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.6993933} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.319516,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3f0edfd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e","object_type":"device","rebac_allow":false,"scope_allow":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":"3f0edfd0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3f0edfd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling 200 11ms","method":"POST","requestID":"3f0edfd0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2237c1eeba77fd9228abcc2bce6c40e"} experiment-1 | {"level":"info","message":"DELETE /experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73 204 162ms","method":"DELETE","requestID":"b2237c1eeba77fd9228abcc2bce6c40e","responseTime":162,"status":204,"url":"/experiments/464a4d86-7ab5-4dda-b005-a1cc27fe7c73"} gateway-1 | {"time_local":"04/Feb/2025:22:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.506","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"4fd39eb3a23833fdfdc8d8d8663cee9f"} gateway-1 | {"time_local":"04/Feb/2025:22: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"e037528155b4c6afdbdd79f665018b27"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"e037528155b4c6afdbdd79f665018b27","responseTime":121,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"b97fa954658f36b1f01ed93d5445b340","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"b97fa954658f36b1f01ed93d5445b340"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY","level":"info","message":"auth send jwt","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/69b3fc3b-b904-44b2-a05c-147a7cfafd4e' closed"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839949,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.993","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"82aa1831b0fb09dd790bef204c23d3ac"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707631,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","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/c36a41e3-eb81-4e83-b6d1-44a76aaad731' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"01006434-8212-461a-801d-9464dd9c8e50","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.784131} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e555a53c-de57-4499-8b4d-8dfd9babc7b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.789406} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2b07d975-13c4-4927-8855-c8753ba64517","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.800252} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d472bef2-106d-4e8d-adf6-531715c1b9df","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.800398} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"c764ccab-e7f9-48da-b344-2eaf75e7d26f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.8044558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c2e32dfbfa0b1df61e7951cc2ba3cd3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY","level":"info","message":"auth send jwt","requestID":"dada5d5b41837549c68f3cdd92ef75a4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dada5d5b41837549c68f3cdd92ef75a4"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.721241,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"dada5d5b41837549c68f3cdd92ef75a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707631,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMX0.XixUFHhjy_voeL3PBWCBWpUn_cTkuFQIA046J6J-nHY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"40c814b4-cfad-4c9a-8812-e7e61fffe1ed","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.8283036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fcb7b6d-6ef1-46e6-8aeb-d8c5d6fa43e5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.8330994} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"bc58bcae-014a-42ad-88c5-e33cf3a62668","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.8427365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"470ab188-8e76-410e-9dd3-a4b38b0c4e94","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.842907} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.842710649Z"}]},"request_id":"ee776fb7-8028-41ce-8b14-bda2974c5be9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707631.847255} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dada5d5b41837549c68f3cdd92ef75a4"} gateway-1 | {"time_local":"04/Feb/2025:22:20:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dada5d5b41837549c68f3cdd92ef75a4"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"dada5d5b41837549c68f3cdd92ef75a4","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMn0.X3NSVtGVa_mRpkYTeAjt-h98Qxuy7fHlcBFzNspnlbQ","level":"info","message":"auth send jwt","requestID":"914dc37877fd0bcf08cb458b951ca268"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"914dc37877fd0bcf08cb458b951ca268","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"914dc37877fd0bcf08cb458b951ca268"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852817,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"914dc37877fd0bcf08cb458b951ca268","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707632,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMn0.X3NSVtGVa_mRpkYTeAjt-h98Qxuy7fHlcBFzNspnlbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"914dc37877fd0bcf08cb458b951ca268","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"8230abc1-578e-4bcc-9cf8-baafb0af553f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707632.31107} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"914dc37877fd0bcf08cb458b951ca268","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0604b222-61b2-481d-b0a2-7839abfcf5c7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707632.3159099} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"914dc37877fd0bcf08cb458b951ca268","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"b0b3c222-f55f-431b-91fc-3712450da480","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707632.3375258} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"914dc37877fd0bcf08cb458b951ca268","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"914dc37877fd0bcf08cb458b951ca268"} gateway-1 | {"time_local":"04/Feb/2025:22:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"914dc37877fd0bcf08cb458b951ca268"} device-1 | {"level":"info","message":"PATCH /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60 200 40ms","method":"PATCH","requestID":"914dc37877fd0bcf08cb458b951ca268","responseTime":40,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMn0.X3NSVtGVa_mRpkYTeAjt-h98Qxuy7fHlcBFzNspnlbQ","level":"info","message":"auth send jwt","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:32Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227926,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d92ae58b3f7ff3a261cc9d672b5ce839","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707632,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzMn0.X3NSVtGVa_mRpkYTeAjt-h98Qxuy7fHlcBFzNspnlbQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839"} gateway-1 | {"time_local":"04/Feb/2025:22:20:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/websocket 200 20ms","method":"POST","requestID":"d92ae58b3f7ff3a261cc9d672b5ce839","responseTime":20,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"111e92f66e1eb01fbb8dee57f9b1a6dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"111e92f66e1eb01fbb8dee57f9b1a6dd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/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":"111e92f66e1eb01fbb8dee57f9b1a6dd"} device-1 | {"level":"info","message":"OPTIONS /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/websocket 200 1ms","method":"OPTIONS","requestID":"111e92f66e1eb01fbb8dee57f9b1a6dd","responseTime":1,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg","level":"info","message":"auth send jwt","requestID":"115c6cf1c59f1393d0014709625e9189"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"115c6cf1c59f1393d0014709625e9189","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"115c6cf1c59f1393d0014709625e9189"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271884,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"115c6cf1c59f1393d0014709625e9189","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"115c6cf1c59f1393d0014709625e9189","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"115c6cf1c59f1393d0014709625e9189"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/websocket 200 39ms","method":"POST","requestID":"115c6cf1c59f1393d0014709625e9189","responseTime":39,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/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":"115c6cf1c59f1393d0014709625e9189"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg","level":"info","message":"auth send jwt","requestID":"c9de8eecc21fd946e16fcbb294f9a265"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9de8eecc21fd946e16fcbb294f9a265","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9de8eecc21fd946e16fcbb294f9a265"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250462,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c9de8eecc21fd946e16fcbb294f9a265","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9de8eecc21fd946e16fcbb294f9a265","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"d98d9d1d-507e-4c8e-b001-31365b31017d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707633.9519386} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c9de8eecc21fd946e16fcbb294f9a265","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9de8eecc21fd946e16fcbb294f9a265"} gateway-1 | {"time_local":"04/Feb/2025:22:20:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? 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":"c9de8eecc21fd946e16fcbb294f9a265"} device-1 | {"level":"info","message":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? 200 18ms","method":"GET","requestID":"c9de8eecc21fd946e16fcbb294f9a265","responseTime":18,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg","level":"info","message":"auth send jwt","requestID":"52aec659194ae10b24b6cfa0763b4ef6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"52aec659194ae10b24b6cfa0763b4ef6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"52aec659194ae10b24b6cfa0763b4ef6"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232061,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52aec659194ae10b24b6cfa0763b4ef6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"52aec659194ae10b24b6cfa0763b4ef6","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.842710649Z"}]},"request_id":"673fec21-a936-4de9-9238-ca727ca732c6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707633.9776266} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"52aec659194ae10b24b6cfa0763b4ef6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"52aec659194ae10b24b6cfa0763b4ef6"} device-1 | {"level":"info","message":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 200 17ms","method":"GET","requestID":"52aec659194ae10b24b6cfa0763b4ef6","responseTime":17,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 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":"52aec659194ae10b24b6cfa0763b4ef6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg","level":"info","message":"auth send jwt","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.207304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to run experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to book experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully booked experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40777080-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145652,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"40777080-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"40777080-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.049198,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"b4febf70-62c7-4511-a42b-76bc3d4b7bff","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.0679436} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"40777080-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.842710649Z"}]},"request_id":"0b102689-54bd-4905-ad29-ea37ee88d65f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.0734773} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40777080-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? 200 18ms","method":"GET","requestID":"40777080-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 200 21ms","method":"GET","requestID":"4077bea0-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Setting up experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully set up experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"408468d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201988,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully running experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267624,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50ea8f12-9d93-46be-b6b9-cedb0184be17","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.151485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"514ca69e-f8b2-446f-8d44-94d5032de8d7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.1535408} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.160313,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.842710649Z"}]},"request_id":"8b08a9f5-4c87-4a33-a13a-c1e58dd59b70","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.1552935} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"408468d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","rebac_allow":false,"scope_allow":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":"408468d0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"408468d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling 200 23ms","method":"POST","requestID":"408468d0-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d33cc05-ac8f-416a-8b86-aba4ed2c958d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d33cc05-ac8f-416a-8b86-aba4ed2c958d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"6abf385e-7dbf-4305-a85a-f78f9bee6644","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.1622531} device-1 | {"level":"info","message":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? 200 29ms","method":"GET","requestID":"4083cc90-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9a6549a-5a8a-4398-9102-777bc57479d1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.162785} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4088d5a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} device-1 | {"level":"info","message":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 200 35ms","method":"GET","requestID":"40841ab0-e346-11ef-bee8-fdb657b9cb09","responseTime":35,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4901fe10-45ad-4997-adf9-bdfd05204eab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.1768184} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.85099,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"408a3530-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4088d5a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","rebac_allow":false,"scope_allow":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":"4088d5a0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1","responseTime":189,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4088d5a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling 200 15ms","method":"POST","requestID":"4088d5a0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd099617-4100-478c-9293-c59731c86b1b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.185477} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNH0.9RlPr1Bf6voF0htUgoFzcCvC7KUNZps4cVPMrTHC6sQ","level":"info","message":"auth send jwt","requestID":"3a6d69ebc1af13da969e3922d1b26cb8"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.362246,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3a6d69ebc1af13da969e3922d1b26cb8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3a6d69ebc1af13da969e3922d1b26cb8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"408a3530-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","rebac_allow":false,"scope_allow":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":"408a3530-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19771,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"408a3530-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling 200 13ms","method":"POST","requestID":"408a3530-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3a6d69ebc1af13da969e3922d1b26cb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707634,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNH0.9RlPr1Bf6voF0htUgoFzcCvC7KUNZps4cVPMrTHC6sQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3a6d69ebc1af13da969e3922d1b26cb8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"408ca630-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.800235293Z"}]},"request_id":"503b510e-eae8-4817-b3f1-313be86a27ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.1973753} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3a6d69ebc1af13da969e3922d1b26cb8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10f492de-b0ab-4e99-9487-6376002bf604","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.201554} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.409946,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3a6d69ebc1af13da969e3922d1b26cb8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"408ca630-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","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":"04/Feb/2025:22:20:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a6d69ebc1af13da969e3922d1b26cb8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"408ca630-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60? 200 16ms","method":"GET","requestID":"3a6d69ebc1af13da969e3922d1b26cb8","responseTime":16,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"408ca630-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling 200 11ms","method":"POST","requestID":"408ca630-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Building connection plan","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"83fe6e12-a3d3-4cb2-91f1-5e7d6211af9f"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"4aa3ac74-4d72-414b-ab1f-3a2badc14038"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"ae219e91-0cef-4494-b8dd-cfa6f922ae49"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} 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/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNH0.9RlPr1Bf6voF0htUgoFzcCvC7KUNZps4cVPMrTHC6sQ","level":"info","message":"auth send jwt","requestID":"04615e4e5a5d5d07c4964a426843dd9d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04615e4e5a5d5d07c4964a426843dd9d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04615e4e5a5d5d07c4964a426843dd9d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911926,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"04615e4e5a5d5d07c4964a426843dd9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707634,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNH0.9RlPr1Bf6voF0htUgoFzcCvC7KUNZps4cVPMrTHC6sQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04615e4e5a5d5d07c4964a426843dd9d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.007784,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707633,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzM30.j1c6REZE2bKVnris915ibHX9NI3Rff7VIw7_dOXlqzg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:31.842710649Z"}]},"request_id":"e8e97547-4c7e-4269-9c1a-a4b9c19b4585","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.220145} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"04615e4e5a5d5d07c4964a426843dd9d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04615e4e5a5d5d07c4964a426843dd9d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 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":"04615e4e5a5d5d07c4964a426843dd9d"} device-1 | {"level":"info","message":"GET /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6? 200 14ms","method":"GET","requestID":"04615e4e5a5d5d07c4964a426843dd9d","responseTime":14,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"e1280c21-7636-4a1e-8ce8-be53c822050d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.2257764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b770d87e-113a-48de-90c1-3d0d89e726d9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.2261362} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445'","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445'","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"408f1730-e346-11ef-bee8-fdb657b9cb09","responseTime":36,"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":"408f1730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","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/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a8f21f1c23aa40b7eff5c79e4e5ed7e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"409a13b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9e67b0e-f2f6-4cd9-92ba-ebf6bdb5b7c4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.288705} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.129146,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"409a13b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","rebac_allow":false,"scope_allow":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":"409a13b0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"409a13b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling 200 11ms","method":"POST","requestID":"409a13b0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"409c0f80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcd6a61f-53ca-4b84-9e90-a17691038a63","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707634.3016808} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.726924,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"409c0f80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"409c0f80-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"409c0f80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling 200 10ms","method":"POST","requestID":"409c0f80-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1357971172102965536 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:NzeM\r\na=ice-pwd:ywumLZnG4CaXz+4wM53nKQsN\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F3:A1:F0:D0:AF:25:56:B8:F8:3B:DC:7D:89:8E:CB:FE:06:DA:93:8B:DA:BA:99:BC:23:E9:0B:25:C5:D6:FD:C3\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2818157119 1 udp 2113937151 4348ddca-a49b-44ca-90b1-48501eef99db.local 35494 typ host generation 0 ufrag NzeM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","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/1f35da0c-799c-41e8-ba6a-237614c1b445' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"candidate":"candidate:2946621944 1 udp 1677729535 141.24.211.56 35494 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag NzeM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4cd13b3010bee36c8f83921de62429c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4cd13b3010bee36c8f83921de62429c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"}}},"level":"info","message":"received a callback","requestID":"c4cd13b3010bee36c8f83921de62429c"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"c4cd13b3010bee36c8f83921de62429c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4cd13b3010bee36c8f83921de62429c"} device-1 | {"data":{"peerconnection":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","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/1f35da0c-799c-41e8-ba6a-237614c1b445' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b32c6df6df95c3d65291ba45d0108940","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b32c6df6df95c3d65291ba45d0108940","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/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"}}},"level":"info","message":"received a callback","requestID":"b32c6df6df95c3d65291ba45d0108940"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"41e5f4a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1f35da0c-799c-41e8-ba6a-237614c1b445","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d02878e-4577-4311-94df-f231e0f3bd47","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.4651053} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.145265,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"41e5f4a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"41e5f4a0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"41e5f4a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445 200 12ms","method":"GET","requestID":"41e5f4a0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"b32c6df6df95c3d65291ba45d0108940","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"b32c6df6df95c3d65291ba45d0108940"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"41ea3a60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"969882ab-f477-4511-aa8f-84ed6ebae062","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.491129} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.631859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"41ea3a60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"41ea3a60-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"41ea3a60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling 200 9ms","method":"POST","requestID":"41ea3a60-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"41ebe810-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e19a7ae9-b12d-4c75-9302-29acfd6c390a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.5025122} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.724281,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"41ebe810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"41ebe810-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"41ebe810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling 200 10ms","method":"POST","requestID":"41ebe810-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA","level":"info","message":"auth send jwt","requestID":"909f92dd2aab425a02289429cbc081a8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"909f92dd2aab425a02289429cbc081a8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","requestID":"909f92dd2aab425a02289429cbc081a8"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.138018,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"909f92dd2aab425a02289429cbc081a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707636,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"909f92dd2aab425a02289429cbc081a8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","requestID":"909f92dd2aab425a02289429cbc081a8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d 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":"909f92dd2aab425a02289429cbc081a8"} experiment-1 | {"level":"info","message":"GET /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d 200 16ms","method":"GET","requestID":"909f92dd2aab425a02289429cbc081a8","responseTime":16,"status":200,"url":"/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA","level":"info","message":"auth send jwt","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.393225,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b5bd819cc63c0a9228a30c95ff0cceb1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707636,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Attempting to finish experiment","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251631,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707636,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445","device":"b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bbc35ff7-ba8b-4326-a956-d1e8f773bf60","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/1f35da0c-799c-41e8-ba6a-237614c1b445' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1f35da0c-799c-41e8-ba6a-237614c1b445","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1f35da0c-799c-41e8-ba6a-237614c1b445': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1f35da0c-799c-41e8-ba6a-237614c1b445","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"93cdf299-a030-4d85-81c8-48b48168f837","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.7094378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e0e0fc3-ebc6-4c8c-851f-58e35afb4ba1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.7099025} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a17811b7a3a667f1144059762dd3627","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a17811b7a3a667f1144059762dd3627","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a82afcac1ae779fd2a940a2a18ebe675","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"}}},"level":"info","message":"received a callback","requestID":"9a17811b7a3a667f1144059762dd3627"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a82afcac1ae779fd2a940a2a18ebe675","responseTime":2,"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/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"}}},"level":"info","message":"received a callback","requestID":"a82afcac1ae779fd2a940a2a18ebe675"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445 204 50ms","method":"DELETE","requestID":"42090d00-e346-11ef-bee8-fdb657b9cb09","responseTime":50,"status":204,"url":"/peerconnections/1f35da0c-799c-41e8-ba6a-237614c1b445"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"},"level":"info","message":"Successfully finished experiment","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"42140980-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb178f0d9-ebd8-43cd-b460-cd2c5146e6a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46773fdd-d837-4c9b-b767-d2b8aa44e678","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.767461} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.964035,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42140980-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6","object_type":"device","rebac_allow":false,"scope_allow":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":"42140980-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"42140980-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling 200 14ms","method":"POST","requestID":"42140980-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d33cc05-ac8f-416a-8b86-aba4ed2c958d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d33cc05-ac8f-416a-8b86-aba4ed2c958d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"31abbb39-f3bf-4fd3-8ac3-412c2284a3a8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.775701} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e94dcd9-88cc-4235-bf32-24a6eec1b85c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.7761967} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4216c8a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbc35ff7-ba8b-4326-a956-d1e8f773bf60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fd3a5d0-9c83-4152-8f01-096eb0875841","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.785856} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.582575,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4216c8a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60","object_type":"device","rebac_allow":false,"scope_allow":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":"4216c8a0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4216c8a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling 200 16ms","method":"POST","requestID":"4216c8a0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/bbc35ff7-ba8b-4326-a956-d1e8f773bf60/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1"} experiment-1 | {"level":"info","message":"DELETE /experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d 204 176ms","method":"DELETE","requestID":"b5bd819cc63c0a9228a30c95ff0cceb1","responseTime":176,"status":204,"url":"/experiments/3d33cc05-ac8f-416a-8b86-aba4ed2c958d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.479","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"3b4b8cb594fd186da47792969ff23837"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"9a17811b7a3a667f1144059762dd3627","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a17811b7a3a667f1144059762dd3627"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"a82afcac1ae779fd2a940a2a18ebe675","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"a82afcac1ae779fd2a940a2a18ebe675"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA","level":"info","message":"auth send jwt","requestID":"19fd663a0f41e62212bf2f6e29337b48"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19fd663a0f41e62212bf2f6e29337b48","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"19fd663a0f41e62212bf2f6e29337b48"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.942","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e0d2ddc085e31b625f9bcbaa439e1261"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.024543,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"19fd663a0f41e62212bf2f6e29337b48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707636,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","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/bbc35ff7-ba8b-4326-a956-d1e8f773bf60' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0fd9b3b8-8d01-4624-8d8c-543269a5ac42","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.8772058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"552dcaf3-fde0-4dee-a8dc-5b35c4f4bd54","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.8827422} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","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/b178f0d9-ebd8-43cd-b460-cd2c5146e6a6' closed"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"15ed03d5-5a70-4e2b-b43b-1362658599de","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.8926167} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9068e0ac-db9f-47a9-a62f-118152688331","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.892777} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"f1673515-eb6e-494e-9556-8ec43822c965","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.89688} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"19fd663a0f41e62212bf2f6e29337b48"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19fd663a0f41e62212bf2f6e29337b48"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"19fd663a0f41e62212bf2f6e29337b48","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA","level":"info","message":"auth send jwt","requestID":"65d1decadd2d6b2daf3bbc5044bca863"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65d1decadd2d6b2daf3bbc5044bca863"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819741,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"65d1decadd2d6b2daf3bbc5044bca863","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707636,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzNn0.IskWsa81oN6wvHGmu6fakRpFdEHmpcaI-yxTnukW0OA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c530af2-bc7b-475f-9b41-aa178aa742d1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.9204226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae657a80-5795-401e-8a7c-b0061b45c12b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.9260943} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"60007c49-94b2-4072-9bbc-d38a14969db5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.9369454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ec657ba-b63d-4b8f-b84f-84deee74149c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.9376585} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"46f851a2-5a05-4530-8499-fd74950316ad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707636.9444788} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65d1decadd2d6b2daf3bbc5044bca863"} gateway-1 | {"time_local":"04/Feb/2025:22:20:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65d1decadd2d6b2daf3bbc5044bca863"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"65d1decadd2d6b2daf3bbc5044bca863","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"6eee648328ab237f2e82d313cd974231"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6eee648328ab237f2e82d313cd974231","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6eee648328ab237f2e82d313cd974231"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602513,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6eee648328ab237f2e82d313cd974231","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6eee648328ab237f2e82d313cd974231","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900623,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"2ff1207c-1626-4fb5-895d-71af93b5adce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4076931} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6eee648328ab237f2e82d313cd974231","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"6a3ccc10-1a2e-460b-85c3-cbf5e6805ffc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4083614} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"933fdeae-86a0-46e8-8767-dd67cfb8ce53","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4140887} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6eee648328ab237f2e82d313cd974231","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b4aeafe-7d6c-459f-a395-41a09ef234fe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4159715} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"2d2355ec-a844-4503-82d0-51bf8329dee2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4193437} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9d5df2b9-54c2-4669-9497-58b31b971598 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941"} device-1 | {"level":"info","message":"PATCH /devices/9d5df2b9-54c2-4669-9497-58b31b971598 200 27ms","method":"PATCH","requestID":"7e1cd12873bb6a9ea8dc34b2eb017941","responseTime":27,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"af2103697d39c8cef53514dda7843cac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af2103697d39c8cef53514dda7843cac","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"af2103697d39c8cef53514dda7843cac"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.412737,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"af2103697d39c8cef53514dda7843cac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af2103697d39c8cef53514dda7843cac","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"fa4187f4-1d2d-4db5-9d81-aeadde3c0bba","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.434872} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6eee648328ab237f2e82d313cd974231","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6eee648328ab237f2e82d313cd974231"} device-1 | {"level":"info","message":"PATCH /devices/73001f60-e91e-444d-b869-b1f73a65afef 200 44ms","method":"PATCH","requestID":"6eee648328ab237f2e82d313cd974231","responseTime":44,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/73001f60-e91e-444d-b869-b1f73a65afef HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"6eee648328ab237f2e82d313cd974231"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"03b8d824235b6fb5e7e10dcb630f581f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03b8d824235b6fb5e7e10dcb630f581f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"03b8d824235b6fb5e7e10dcb630f581f"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902118,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"af2103697d39c8cef53514dda7843cac"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/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.11","requestID":"af2103697d39c8cef53514dda7843cac"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/websocket 200 21ms","method":"POST","requestID":"af2103697d39c8cef53514dda7843cac","responseTime":21,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"03b8d824235b6fb5e7e10dcb630f581f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"03b8d824235b6fb5e7e10dcb630f581f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"03b8d824235b6fb5e7e10dcb630f581f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"03b8d824235b6fb5e7e10dcb630f581f"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/websocket 200 19ms","method":"POST","requestID":"03b8d824235b6fb5e7e10dcb630f581f","responseTime":19,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"1809dc60ec74b8b0c1af382454a677da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1809dc60ec74b8b0c1af382454a677da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1809dc60ec74b8b0c1af382454a677da"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723319,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1809dc60ec74b8b0c1af382454a677da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1809dc60ec74b8b0c1af382454a677da","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"f7fcfb38-02fc-4faa-90b0-6cf42fe50fcb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.4934847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1809dc60ec74b8b0c1af382454a677da","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1809dc60ec74b8b0c1af382454a677da"} device-1 | {"level":"info","message":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 200 10ms","method":"GET","requestID":"1809dc60ec74b8b0c1af382454a677da","responseTime":10,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 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":"1809dc60ec74b8b0c1af382454a677da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"c123d6ede632b2aae8a396114f463567"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c123d6ede632b2aae8a396114f463567","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c123d6ede632b2aae8a396114f463567"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692558,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c123d6ede632b2aae8a396114f463567","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c123d6ede632b2aae8a396114f463567","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"2af1cce5-9393-4e00-8cf9-bba320c37b05","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.5102246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c123d6ede632b2aae8a396114f463567","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c123d6ede632b2aae8a396114f463567"} device-1 | {"level":"info","message":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? 200 13ms","method":"GET","requestID":"c123d6ede632b2aae8a396114f463567","responseTime":13,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? 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":"c123d6ede632b2aae8a396114f463567"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"846efbbe347c04020b6ada6d8eb124ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"846efbbe347c04020b6ada6d8eb124ef","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"846efbbe347c04020b6ada6d8eb124ef"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.008858,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"846efbbe347c04020b6ada6d8eb124ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"846efbbe347c04020b6ada6d8eb124ef","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to run experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to book experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully booked experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42901750-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.78984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42901750-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42901750-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027595,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"5d70a313-9817-4798-8bad-63c114de0de6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.5824485} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"42901750-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"1ba7a01e-2318-4626-b963-6766a7fe5362","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.5839887} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42901750-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 200 15ms","method":"GET","requestID":"42901750-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? 200 15ms","method":"GET","requestID":"42903e60-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Setting up experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully locked booking for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to update booking for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully updated booking for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully set up experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42996620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4299db50-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully running experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42996620-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42996620-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726746,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"701a6e6b-90d3-49d9-819b-e53fb11dbf6d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6422644} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.719969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4299db50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","rebac_allow":false,"scope_allow":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":"4299db50-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"d125f06f-b4c9-40a7-b932-21b4314cad41","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6454124} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"b156cb49-91a2-4388-98de-f8984a39f4a8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.648074} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42996620-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4299db50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling 200 12ms","method":"POST","requestID":"4299db50-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d948da5-85f1-4580-aaf9-c8a6d0d54232#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d948da5-85f1-4580-aaf9-c8a6d0d54232","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"515138c7-ee8f-474f-93e1-3b96d9ce1f60","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6525729} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2561dc92-2515-4d2d-a8a1-82aba4ef14d7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6527965} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"429c4c50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"846efbbe347c04020b6ada6d8eb124ef","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? 200 20ms","method":"GET","requestID":"42998d30-e346-11ef-bee8-fdb657b9cb09","responseTime":20,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42996620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 200 22ms","method":"GET","requestID":"42996620-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598?"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"167d4117-3d8e-4132-bc32-06c41055f0e5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6581867} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841014,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"429c4c50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","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":"429d5dc0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"429c4c50-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"846efbbe347c04020b6ada6d8eb124ef"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"846efbbe347c04020b6ada6d8eb124ef"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 142ms","method":"POST","requestID":"846efbbe347c04020b6ada6d8eb124ef","responseTime":142,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"429c4c50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling 200 11ms","method":"POST","requestID":"429c4c50-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa6e052a-494b-4975-9508-537db6d3f647","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.664496} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.859837,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"429d5dc0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"3e34e60f926565cbb2d4bfe93fba641e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"429d5dc0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e34e60f926565cbb2d4bfe93fba641e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3e34e60f926565cbb2d4bfe93fba641e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"429d5dc0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling 200 10ms","method":"POST","requestID":"429d5dc0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.517266,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"429f3280-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"3e34e60f926565cbb2d4bfe93fba641e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e34e60f926565cbb2d4bfe93fba641e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.892594459Z"}]},"request_id":"ed36951a-d467-4c39-9fed-16b111be6982","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.675652} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3e34e60f926565cbb2d4bfe93fba641e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7463fcf-4fb7-41d3-b164-4cf4a32c2735","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.675938} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58142,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"429f3280-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"429f3280-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3e34e60f926565cbb2d4bfe93fba641e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 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":"3e34e60f926565cbb2d4bfe93fba641e"} device-1 | {"level":"info","message":"GET /devices/9d5df2b9-54c2-4669-9497-58b31b971598? 200 11ms","method":"GET","requestID":"3e34e60f926565cbb2d4bfe93fba641e","responseTime":11,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"429f3280-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling 200 9ms","method":"POST","requestID":"429f3280-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Building connection plan","requestID":"846efbbe347c04020b6ada6d8eb124ef"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"631bd14f-8a82-48ef-a603-11ee6131ffdf"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"91c68c9f-a700-49d3-a868-81cfe60831e1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"930d9f0a-d855-4a7c-a069-484b25701da7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"846efbbe347c04020b6ada6d8eb124ef"} 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/73001f60-e91e-444d-b869-b1f73a65afef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"846efbbe347c04020b6ada6d8eb124ef"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw","level":"info","message":"auth send jwt","requestID":"f460cf3c9fba37a014c04cf874be112c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f460cf3c9fba37a014c04cf874be112c","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f460cf3c9fba37a014c04cf874be112c"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.898176,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837627,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f460cf3c9fba37a014c04cf874be112c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707637,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzYzN30.HMt-eOe_UN_wNnTqmcwsHbyhlDwIBpzvwQG7dQP8Mtw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f460cf3c9fba37a014c04cf874be112c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:36.936925820Z"}]},"request_id":"f6ad89e3-7f45-476f-9ed7-f1ed7ba31c99","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.696012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f460cf3c9fba37a014c04cf874be112c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"e7bd9a83-8744-4c5d-a98c-8bcda5049d3d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6969893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4774eca1-999a-42e5-9058-08106b7440d4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.6972535} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f460cf3c9fba37a014c04cf874be112c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f460cf3c9fba37a014c04cf874be112c"} device-1 | {"level":"info","message":"GET /devices/73001f60-e91e-444d-b869-b1f73a65afef? 200 14ms","method":"GET","requestID":"f460cf3c9fba37a014c04cf874be112c","responseTime":14,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581'","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581'","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"42a10740-e346-11ef-bee8-fdb657b9cb09"} 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":"42a10740-e346-11ef-bee8-fdb657b9cb09","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":"42a10740-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"846efbbe347c04020b6ada6d8eb124ef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"42acee20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d42f0f7a-84c9-4faa-8cb2-28cf69c8b274","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.768033} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.47518,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42acee20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"42acee20-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"42acee20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling 200 12ms","method":"POST","requestID":"42acee20-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"42af3810-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"973e9154-e8fd-47f3-a1f8-003b1b9eb4ca","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707637.7818837} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.218019,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"42af3810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"42af3810-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"42af3810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling 200 11ms","method":"POST","requestID":"42af3810-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling"} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fce818901248092f09717b97d0e2d944","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fce818901248092f09717b97d0e2d944","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/73001f60-e91e-444d-b869-b1f73a65afef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"}}},"level":"info","message":"received a callback","requestID":"fce818901248092f09717b97d0e2d944"} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"fce818901248092f09717b97d0e2d944","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"fce818901248092f09717b97d0e2d944"} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","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/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bcd4520af408a1a9c8bff4091b723b8a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/73001f60-e91e-444d-b869-b1f73a65afef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"}}},"level":"info","message":"received a callback","requestID":"bcd4520af408a1a9c8bff4091b723b8a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bcd4520af408a1a9c8bff4091b723b8a","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"43eaec60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05c62487-e8f7-4386-bd60-62c99bcbb09e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707639.8522096} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.298349,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"43eaec60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","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":"43eaec60-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"43eaec60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581 200 11ms","method":"GET","requestID":"43eaec60-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"bcd4520af408a1a9c8bff4091b723b8a","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"bcd4520af408a1a9c8bff4091b723b8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43efa750-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.957424,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7813c3fb-4b17-45c7-a157-4c8e71f53f7c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707639.8819416} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"43efa750-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","rebac_allow":false,"scope_allow":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":"43efa750-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43efa750-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling 200 12ms","method":"POST","requestID":"43efa750-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43f21850-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81783806-35e4-44a2-a615-2d61411e1d5b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707639.89883} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.182884,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"43f21850-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","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":"43f21850-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"43f21850-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling 200 11ms","method":"POST","requestID":"43f21850-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o","level":"info","message":"auth send jwt","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.143063,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707640,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba"} experiment-1 | {"level":"info","message":"GET /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232 200 15ms","method":"GET","requestID":"1d1973c9f1bbcdd98d21b1a9383b4cba","responseTime":15,"status":200,"url":"/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o","level":"info","message":"auth send jwt","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bcd17564dfc4f88088cdd777d2e8aef8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.133232,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"bcd17564dfc4f88088cdd777d2e8aef8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707640,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bcd17564dfc4f88088cdd777d2e8aef8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Attempting to finish experiment","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.498557,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707640,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9d5df2b9-54c2-4669-9497-58b31b971598","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"73001f60-e91e-444d-b869-b1f73a65afef","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c46c11ed292202bffd3a7f9276e00d37","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c46c11ed292202bffd3a7f9276e00d37","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/73001f60-e91e-444d-b869-b1f73a65afef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"}}},"level":"info","message":"received a callback","requestID":"c46c11ed292202bffd3a7f9276e00d37"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"856c2b38132840edce608a5dca60fae4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"856c2b38132840edce608a5dca60fae4","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/73001f60-e91e-444d-b869-b1f73a65afef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"}}},"level":"info","message":"received a callback","requestID":"856c2b38132840edce608a5dca60fae4"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2c3d3cf-5bbc-4ba8-98b6-1b76e811b581': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"f200cf32-7f86-49af-a1d9-cc0edabc84b0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.1062057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcddac1f-9faa-45c5-9d12-cd9fc9616484","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.1065001} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581 204 56ms","method":"DELETE","requestID":"440e2bd0-e346-11ef-bee8-fdb657b9cb09","responseTime":56,"status":204,"url":"/peerconnections/b2c3d3cf-5bbc-4ba8-98b6-1b76e811b581"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"},"level":"info","message":"Successfully finished experiment","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"441a60d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73001f60-e91e-444d-b869-b1f73a65afef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aea3e437-d564-484e-90d1-ab4330b5e8dc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.1650984} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.397661,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"441a60d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73001f60-e91e-444d-b869-b1f73a65afef","object_type":"device","rebac_allow":false,"scope_allow":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":"441a60d0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d948da5-85f1-4580-aaf9-c8a6d0d54232': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2d948da5-85f1-4580-aaf9-c8a6d0d54232","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"066aac5d-f581-445f-b2a8-cdd74b34dc30","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.1725829} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"441a60d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling 200 16ms","method":"POST","requestID":"441a60d0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/73001f60-e91e-444d-b869-b1f73a65afef/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fa7d379-9152-4f41-b8ac-7b6bbee45688","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.1730883} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"bcd17564dfc4f88088cdd777d2e8aef8","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"441d6e10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d5df2b9-54c2-4669-9497-58b31b971598","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86b72ebe-441d-44c4-8bdb-9ae40c95217f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.185048} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.237235,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"441d6e10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598","object_type":"device","rebac_allow":false,"scope_allow":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":"441d6e10-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"441d6e10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling 200 15ms","method":"POST","requestID":"441d6e10-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/9d5df2b9-54c2-4669-9497-58b31b971598/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcd17564dfc4f88088cdd777d2e8aef8"} experiment-1 | {"level":"info","message":"DELETE /experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232 204 179ms","method":"DELETE","requestID":"bcd17564dfc4f88088cdd777d2e8aef8","responseTime":179,"status":204,"url":"/experiments/2d948da5-85f1-4580-aaf9-c8a6d0d54232"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.778","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e1734268d627aa06675b4ecf4235323b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.792","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"fde6e018009a4a5e0391f0ad9649cef9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"c46c11ed292202bffd3a7f9276e00d37","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"c46c11ed292202bffd3a7f9276e00d37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"856c2b38132840edce608a5dca60fae4","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"856c2b38132840edce608a5dca60fae4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o","level":"info","message":"auth send jwt","requestID":"53b85c397033c2401f876ee5e9db5833"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53b85c397033c2401f876ee5e9db5833","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9d5df2b9-54c2-4669-9497-58b31b971598' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"53b85c397033c2401f876ee5e9db5833"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.230292,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"53b85c397033c2401f876ee5e9db5833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707640,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","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/73001f60-e91e-444d-b869-b1f73a65afef' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"60c21bd7-ebe2-468c-9545-3dc5e6de90ad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.2700093} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2ac0883-306e-4f4c-9704-565aa83e67ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.2762353} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"a598236a-8a4d-4d3d-aafd-250ef0a48d64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.2873182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d111bf9-58a4-40a3-9042-db5011639a8c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.2875922} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.287286719Z"}]},"request_id":"86e6aecb-6781-40ba-8feb-e8c3f72df61e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.29292} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"53b85c397033c2401f876ee5e9db5833"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53b85c397033c2401f876ee5e9db5833"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"53b85c397033c2401f876ee5e9db5833","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o","level":"info","message":"auth send jwt","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.896433,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707640,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0MH0.P5A5HpVDFshKfUtoZgZbIoV_HnyzVNMPvzf6FMYWz5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bb7cc976-483a-48c7-8c11-a300b7dd326f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.3172703} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e9cf752-86cc-4c23-afd0-988df6db5cc7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.3219728} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"12ef6595-f895-47ae-a5b2-f6545018047f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.3338363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aa61051-3f16-4994-b42f-57178aac3872","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.3341594} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.333815265Z"}]},"request_id":"a10b5146-4617-4b4c-a3f5-7003b56e7c2e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707640.3396382} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc"} gateway-1 | {"time_local":"04/Feb/2025:22:20:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"d3d6205f0a13639ef6c35d19eae0e2dc","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff917fbcb166cecfd30c52037f60d487","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff917fbcb166cecfd30c52037f60d487","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/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":"ff917fbcb166cecfd30c52037f60d487"} device-1 | {"level":"info","message":"OPTIONS /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/websocket 200 1ms","method":"OPTIONS","requestID":"ff917fbcb166cecfd30c52037f60d487","responseTime":1,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"8e3991084544739081d7b7479631ac8b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e3991084544739081d7b7479631ac8b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8e3991084544739081d7b7479631ac8b"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.535003,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b21da900ad0231bf9491362b22194ea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b21da900ad0231bf9491362b22194ea","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8e3991084544739081d7b7479631ac8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e3991084544739081d7b7479631ac8b","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/921a2a45-da11-4561-8685-22abe7060fe5/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":"8b21da900ad0231bf9491362b22194ea"} device-1 | {"level":"info","message":"OPTIONS /devices/921a2a45-da11-4561-8685-22abe7060fe5/websocket 200 1ms","method":"OPTIONS","requestID":"8b21da900ad0231bf9491362b22194ea","responseTime":1,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"782bb028bfc11f17871e91c25d13ac9f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"782bb028bfc11f17871e91c25d13ac9f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"782bb028bfc11f17871e91c25d13ac9f"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298954,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"782bb028bfc11f17871e91c25d13ac9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"782bb028bfc11f17871e91c25d13ac9f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8e3991084544739081d7b7479631ac8b"} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/websocket 200 25ms","method":"POST","requestID":"8e3991084544739081d7b7479631ac8b","responseTime":25,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8e3991084544739081d7b7479631ac8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"782bb028bfc11f17871e91c25d13ac9f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/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":"782bb028bfc11f17871e91c25d13ac9f"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/websocket 200 19ms","method":"POST","requestID":"782bb028bfc11f17871e91c25d13ac9f","responseTime":19,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"d17d270c70b24a029a8404deb56ab138"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d17d270c70b24a029a8404deb56ab138","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d17d270c70b24a029a8404deb56ab138"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716682,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d17d270c70b24a029a8404deb56ab138","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d17d270c70b24a029a8404deb56ab138","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.287286719Z"}]},"request_id":"60676e4f-7d75-48b4-9c8c-3d8d0fe57397","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.3671622} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d17d270c70b24a029a8404deb56ab138","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d17d270c70b24a029a8404deb56ab138"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 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":"d17d270c70b24a029a8404deb56ab138"} device-1 | {"level":"info","message":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 200 10ms","method":"GET","requestID":"d17d270c70b24a029a8404deb56ab138","responseTime":10,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713494,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.333815265Z"}]},"request_id":"6cbc80a1-4303-4e86-be82-3a680e199393","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.3818693} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5"} device-1 | {"level":"info","message":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 200 11ms","method":"GET","requestID":"54b629ccdf8d5e091c4ed3a172c3d2f5","responseTime":11,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 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":"54b629ccdf8d5e091c4ed3a172c3d2f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"67c76c6267173ecd614969d6327dcaed"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"67c76c6267173ecd614969d6327dcaed","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"67c76c6267173ecd614969d6327dcaed"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.796965,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67c76c6267173ecd614969d6327dcaed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"67c76c6267173ecd614969d6327dcaed","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to run experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to book experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully booked experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.173976,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.430225,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.287286719Z"}]},"request_id":"156e3c70-8a16-4a9a-a029-f575f9b5ba3e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.4571157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.333815265Z"}]},"request_id":"1ebd71c1-857a-43a3-8488-6ba3bd40b811","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.458385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 200 14ms","method":"GET","requestID":"4577f500-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 200 14ms","method":"GET","requestID":"45781c10-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Setting up experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully locked booking for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to update booking for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully updated booking for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully set up experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45820720-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully running experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087423,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835409,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.333815265Z"}]},"request_id":"ae2717ca-a981-4bba-9dca-2f2b6463feb8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5240247} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c19f2a07-7fb5-4086-b6f3-6f61699f27f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5242102} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.900792,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.287286719Z"}]},"request_id":"a293b46e-e29c-40d5-916f-8884bfc77a32","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5257716} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45820720-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","rebac_allow":false,"scope_allow":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":"45820720-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 200 17ms","method":"GET","requestID":"4581e010-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45820720-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7caea2dc-abfe-4240-9c4d-28ae75fa9550#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7caea2dc-abfe-4240-9c4d-28ae75fa9550","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"30ecbfac-9c24-4923-87ba-c7513b8dfda3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.53171} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling 200 18ms","method":"POST","requestID":"45820720-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ba78464-a4ef-4db3-be36-32db3405bf64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5320034} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 200 21ms","method":"GET","requestID":"4581b900-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"67c76c6267173ecd614969d6327dcaed","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45851460-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45856280-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff13589b-eb94-4af4-a293-3ef9f3be8052","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.539158} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725146,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45851460-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"45851460-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c49fe52-c88d-46d8-b2bf-471db38a555d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5407178} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607111,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45856280-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","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/7caea2dc-abfe-4240-9c4d-28ae75fa9550","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"67c76c6267173ecd614969d6327dcaed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45856280-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"level":"info","message":"POST /experiments? 201 153ms","method":"POST","requestID":"67c76c6267173ecd614969d6327dcaed","responseTime":153,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45851460-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling 200 11ms","method":"POST","requestID":"45851460-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45856280-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling 200 10ms","method":"POST","requestID":"45856280-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"624df1dea4aec74dde45988ea554ea5a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"624df1dea4aec74dde45988ea554ea5a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"624df1dea4aec74dde45988ea554ea5a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45878560-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6805,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"624df1dea4aec74dde45988ea554ea5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"624df1dea4aec74dde45988ea554ea5a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b4f2945-fd4b-40f1-824a-cb784fe88743","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5535724} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.709073,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45878560-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45878560-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.287286719Z"}]},"request_id":"ae69a18c-2617-4b5c-8ed2-5298c211136f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5559864} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"624df1dea4aec74dde45988ea554ea5a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45878560-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling 200 10ms","method":"POST","requestID":"45878560-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"624df1dea4aec74dde45988ea554ea5a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 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":"624df1dea4aec74dde45988ea554ea5a"} device-1 | {"level":"info","message":"GET /devices/d289351b-6f6a-49cb-90c6-02bbe3581543? 200 13ms","method":"GET","requestID":"624df1dea4aec74dde45988ea554ea5a","responseTime":13,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Building connection plan","requestID":"67c76c6267173ecd614969d6327dcaed"} 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":"9326382a-d962-4179-85e2-8897163e3807"},{"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":"8cdda77c-58ba-42b6-9e80-2cc3570a2953"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"386eb136-993d-4f10-86b2-e9a966969d53"}]},"level":"info","message":"Built pairwise service configurations","requestID":"67c76c6267173ecd614969d6327dcaed"} 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/d289351b-6f6a-49cb-90c6-02bbe3581543"},{"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/921a2a45-da11-4561-8685-22abe7060fe5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"67c76c6267173ecd614969d6327dcaed"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"03c0dc0889149e178dd81e7ac062a81a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03c0dc0889149e178dd81e7ac062a81a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"03c0dc0889149e178dd81e7ac062a81a"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.742563,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45898130-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630302,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"03c0dc0889149e178dd81e7ac062a81a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"03c0dc0889149e178dd81e7ac062a81a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:40.333815265Z"}]},"request_id":"7ee76eb4-f30e-41ab-9826-2b5b35ab1e10","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5742884} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"03c0dc0889149e178dd81e7ac062a81a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"11d6bec7-8da7-450f-ad8e-a7e35d26833b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5754974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"225083ea-845c-4b0c-b45b-fefa4d0fdec7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.5757377} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"03c0dc0889149e178dd81e7ac062a81a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 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":"03c0dc0889149e178dd81e7ac062a81a"} device-1 | {"level":"info","message":"GET /devices/921a2a45-da11-4561-8685-22abe7060fe5? 200 13ms","method":"GET","requestID":"03c0dc0889149e178dd81e7ac062a81a","responseTime":13,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf'","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf'","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"45898130-e346-11ef-bee8-fdb657b9cb09"} 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":"45898130-e346-11ef-bee8-fdb657b9cb09","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":"45898130-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","device":"921a2a45-da11-4561-8685-22abe7060fe5","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/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"67c76c6267173ecd614969d6327dcaed"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45947db0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"275d060f-5f27-42fb-8b65-551bc8e87b8b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.6392553} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.560263,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45947db0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45947db0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45947db0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling 200 8ms","method":"POST","requestID":"45947db0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4595dd40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a52af1b-b659-45da-8215-2a29cea7926c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.6496549} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.97047,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4595dd40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4595dd40-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4595dd40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling 200 10ms","method":"POST","requestID":"4595dd40-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling"} device-1 | {"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4580244024752841921 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:IETg\r\na=ice-pwd:4txG6CAAYMQfmJvdS77NWrpo\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A3:98:25:3B:95:BE:C6:A5:4D:01:EC:A9:D1:52:52:0B:A9:14:7D:FD:67:59:58:D5:36:EE:6D:DF:FE:8A:7E:A2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1206906915564095641 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:S26T\r\na=ice-pwd:3kfmNiRB3WGnzdK03gT3aYcu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 42:F1:79:99:72:6C:22:30:9A:29:C8:AF:52:CA:52:9B:D4:B5:81:E1:C6:3A:A3:DC:8E:72:F2:53:08:21:BA:C8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1483889520 1 udp 2113937151 d8429bed-a69b-4e94-88d9-24399333d2a1.local 46128 typ host generation 0 ufrag S26T network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1344934071 1 udp 1677729535 141.24.211.56 46128 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag S26T network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","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/d289351b-6f6a-49cb-90c6-02bbe3581543'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543'"} device-1 | {"content":{"candidate":"candidate:805023327 1 udp 2113937151 1913c3e0-ea74-4049-a514-410a78797e13.local 57666 typ host generation 0 ufrag IETg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:665052568 1 udp 1677729535 141.24.211.56 57666 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag IETg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"921a2a45-da11-4561-8685-22abe7060fe5","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/921a2a45-da11-4561-8685-22abe7060fe5'"} device-1 | {"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","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/d43da429-2c36-444f-b067-ce7ffbfb5cbf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3aa4601e6a01876859f0d11ebe5bbf1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b3aa4601e6a01876859f0d11ebe5bbf1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543"},{"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/921a2a45-da11-4561-8685-22abe7060fe5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"}}},"level":"info","message":"received a callback","requestID":"b3aa4601e6a01876859f0d11ebe5bbf1"} device-1 | {"device":"921a2a45-da11-4561-8685-22abe7060fe5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3aa4601e6a01876859f0d11ebe5bbf1"} device-1 | {"device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b3aa4601e6a01876859f0d11ebe5bbf1","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","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/d43da429-2c36-444f-b067-ce7ffbfb5cbf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04f6892b98abcb7bb0c067b4cdfd6625","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04f6892b98abcb7bb0c067b4cdfd6625","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/d289351b-6f6a-49cb-90c6-02bbe3581543"},{"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/921a2a45-da11-4561-8685-22abe7060fe5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"}}},"level":"info","message":"received a callback","requestID":"04f6892b98abcb7bb0c067b4cdfd6625"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"45a371d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd43da429-2c36-444f-b067-ce7ffbfb5cbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19be9fb9-8c51-4776-9c33-338becc26d55","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.7368343} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.145271,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45a371d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","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":"45a371d0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"45a371d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf 200 7ms","method":"GET","requestID":"45a371d0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"04f6892b98abcb7bb0c067b4cdfd6625","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"04f6892b98abcb7bb0c067b4cdfd6625"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45a6a620-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"833337a9-e071-402d-a340-5f5e65bc06e6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.7584198} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.218312,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45a6a620-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45a6a620-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45a6a620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling 200 9ms","method":"POST","requestID":"45a6a620-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45a853d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c65179d-3282-4089-9f56-d2801779ec95","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.769477} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309925,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45a853d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45a853d0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45a853d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling 200 9ms","method":"POST","requestID":"45a853d0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"97e0868c9a689004329c61bb5953b657"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97e0868c9a689004329c61bb5953b657","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","requestID":"97e0868c9a689004329c61bb5953b657"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662558,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"97e0868c9a689004329c61bb5953b657","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"97e0868c9a689004329c61bb5953b657","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","requestID":"97e0868c9a689004329c61bb5953b657"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97e0868c9a689004329c61bb5953b657"} experiment-1 | {"level":"info","message":"GET /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550 200 11ms","method":"GET","requestID":"97e0868c9a689004329c61bb5953b657","responseTime":11,"status":200,"url":"/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"45fd34e3484fd566626405c583cfbc7f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45fd34e3484fd566626405c583cfbc7f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","requestID":"45fd34e3484fd566626405c583cfbc7f"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.967258,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45fd34e3484fd566626405c583cfbc7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45fd34e3484fd566626405c583cfbc7f","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Attempting to finish experiment","requestID":"45fd34e3484fd566626405c583cfbc7f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.635019,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","device":"d289351b-6f6a-49cb-90c6-02bbe3581543","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf","device":"921a2a45-da11-4561-8685-22abe7060fe5","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/d43da429-2c36-444f-b067-ce7ffbfb5cbf' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"82a0967845475f3714623a0348c88f52","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd43da429-2c36-444f-b067-ce7ffbfb5cbf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd43da429-2c36-444f-b067-ce7ffbfb5cbf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"4a00e9d8-b6cd-44b8-b75a-db3e05aff498","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.8723478} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"82a0967845475f3714623a0348c88f52","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4d6bc2a-8320-4163-b539-8c344a150d91","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.8728864} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5250be59d52601cfcfac1633762b6724","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d289351b-6f6a-49cb-90c6-02bbe3581543"},{"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/921a2a45-da11-4561-8685-22abe7060fe5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"}}},"level":"info","message":"received a callback","requestID":"82a0967845475f3714623a0348c88f52"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5250be59d52601cfcfac1633762b6724","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543"},{"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/921a2a45-da11-4561-8685-22abe7060fe5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"}}},"level":"info","message":"received a callback","requestID":"5250be59d52601cfcfac1633762b6724"} device-1 | {"data":{"peerconnection":"d43da429-2c36-444f-b067-ce7ffbfb5cbf","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf 204 50ms","method":"DELETE","requestID":"45b488d0-e346-11ef-bee8-fdb657b9cb09","responseTime":50,"status":204,"url":"/peerconnections/d43da429-2c36-444f-b067-ce7ffbfb5cbf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"},"level":"info","message":"Successfully finished experiment","requestID":"45fd34e3484fd566626405c583cfbc7f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45bf3730-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd289351b-6f6a-49cb-90c6-02bbe3581543","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5a5a200-4cdf-4ec1-927d-ce73f068d3b4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.9204147} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.113136,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45bf3730-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"45bf3730-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45bf3730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling 200 12ms","method":"POST","requestID":"45bf3730-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/d289351b-6f6a-49cb-90c6-02bbe3581543/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7caea2dc-abfe-4240-9c4d-28ae75fa9550': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7caea2dc-abfe-4240-9c4d-28ae75fa9550","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"f26c191c-0646-451d-a521-5a2ab6b1141e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.9284036} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a19ca7a-787a-4338-941d-e0a72021dec4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.928962} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45c1a830-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"45fd34e3484fd566626405c583cfbc7f","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F921a2a45-da11-4561-8685-22abe7060fe5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0667ea8b-ec13-4e08-99a2-e43f43d5ae49","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707642.9376798} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.386302,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"45c1a830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5","object_type":"device","rebac_allow":false,"scope_allow":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":"45c1a830-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45c1a830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling 200 11ms","method":"POST","requestID":"45c1a830-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/921a2a45-da11-4561-8685-22abe7060fe5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550","requestID":"45fd34e3484fd566626405c583cfbc7f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45fd34e3484fd566626405c583cfbc7f"} experiment-1 | {"level":"info","message":"DELETE /experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550 204 161ms","method":"DELETE","requestID":"45fd34e3484fd566626405c583cfbc7f","responseTime":161,"status":204,"url":"/experiments/7caea2dc-abfe-4240-9c4d-28ae75fa9550"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"82a0967845475f3714623a0348c88f52","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"82a0967845475f3714623a0348c88f52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"5250be59d52601cfcfac1633762b6724","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"5250be59d52601cfcfac1633762b6724"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE","level":"info","message":"auth send jwt","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.660","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e562118b8350e37f2c52989c792c97c6"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.206845,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707642,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Mn0.-vdsSOlu-Jczb17ZQew4LE5ZRQ7ifEuvYxtMREuJRNE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.673","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f2ae12523e1714534866e504f2940cb3"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/921a2a45-da11-4561-8685-22abe7060fe5' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d289351b-6f6a-49cb-90c6-02bbe3581543' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1146476d-d115-4bc0-8b6b-beec584e12f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0215368} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc6e21c3-2acf-482d-a435-6b0a6040e50a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0259748} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"03c3003f-720d-4519-b60a-b0ed86f30866","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.037652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93f65a81-db5c-45d5-abc3-cc1e75e67ce5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0377727} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.037630886Z"}]},"request_id":"54662aa9-e396-451a-8e17-28b1ae846718","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0420914} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"e0cdaa1a8661c4649423a3e0b2b5674d","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0M30.rmgvlW5wIE2bkYs0e9XmWfVPsVDhaw_P9U3mbJITrmA","level":"info","message":"auth send jwt","requestID":"8af26ba5e37b3d440fb1c469edb13b57"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8af26ba5e37b3d440fb1c469edb13b57"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.859181,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8af26ba5e37b3d440fb1c469edb13b57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707643,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0M30.rmgvlW5wIE2bkYs0e9XmWfVPsVDhaw_P9U3mbJITrmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"27e12639-be07-4f97-b77b-1dfd797ca59e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0652282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf1ff56a-f438-4638-bd1d-7134eb6208e2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0698683} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"9804e7ad-4f1f-42d6-8b9d-44bd5f13af74","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0790133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf3f65e6-86ef-4666-b9a1-230eabf6fc81","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.0791745} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.078994024Z"}]},"request_id":"39031a72-9148-48f5-863d-650aecb5ec60","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707643.083116} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8af26ba5e37b3d440fb1c469edb13b57"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"8af26ba5e37b3d440fb1c469edb13b57","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:43 +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":"8af26ba5e37b3d440fb1c469edb13b57"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4e347720d9db9e03ab6fe7350ebcb6d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c4e347720d9db9e03ab6fe7350ebcb6d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4197b562-232d-4761-874a-db54195c0253/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":"c4e347720d9db9e03ab6fe7350ebcb6d"} device-1 | {"level":"info","message":"OPTIONS /devices/4197b562-232d-4761-874a-db54195c0253/websocket 200 2ms","method":"OPTIONS","requestID":"c4e347720d9db9e03ab6fe7350ebcb6d","responseTime":2,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"92ce32cefd60836012cf8d5b28b4563b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"92ce32cefd60836012cf8d5b28b4563b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"92ce32cefd60836012cf8d5b28b4563b"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690398,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"92ce32cefd60836012cf8d5b28b4563b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92ce32cefd60836012cf8d5b28b4563b","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c090b236cbc505e02b85fb4be944f4df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c090b236cbc505e02b85fb4be944f4df","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/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":"c090b236cbc505e02b85fb4be944f4df"} device-1 | {"level":"info","message":"OPTIONS /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/websocket 200 2ms","method":"OPTIONS","requestID":"c090b236cbc505e02b85fb4be944f4df","responseTime":2,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"5dc4f29eceee7895ba3a428b7b91ec06"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"92ce32cefd60836012cf8d5b28b4563b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5dc4f29eceee7895ba3a428b7b91ec06","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4197b562-232d-4761-874a-db54195c0253/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":"92ce32cefd60836012cf8d5b28b4563b"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/websocket 200 22ms","method":"POST","requestID":"92ce32cefd60836012cf8d5b28b4563b","responseTime":22,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5dc4f29eceee7895ba3a428b7b91ec06"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138766,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5dc4f29eceee7895ba3a428b7b91ec06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5dc4f29eceee7895ba3a428b7b91ec06","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5dc4f29eceee7895ba3a428b7b91ec06"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5dc4f29eceee7895ba3a428b7b91ec06"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/websocket 200 14ms","method":"POST","requestID":"5dc4f29eceee7895ba3a428b7b91ec06","responseTime":14,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4197b562-232d-4761-874a-db54195c0253' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"459a42410f7c00069b753bf4b90ca839"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"459a42410f7c00069b753bf4b90ca839","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"459a42410f7c00069b753bf4b90ca839"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152154,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"459a42410f7c00069b753bf4b90ca839","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"459a42410f7c00069b753bf4b90ca839","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.037630886Z"}]},"request_id":"0540b1eb-1ab3-496a-a6d5-d54c5fabba75","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.1516268} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"459a42410f7c00069b753bf4b90ca839","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"459a42410f7c00069b753bf4b90ca839"} device-1 | {"level":"info","message":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? 200 17ms","method":"GET","requestID":"459a42410f7c00069b753bf4b90ca839","responseTime":17,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"459a42410f7c00069b753bf4b90ca839"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"ab8514411eed7098b4f97d4c910eaf29"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab8514411eed7098b4f97d4c910eaf29","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab8514411eed7098b4f97d4c910eaf29"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700663,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ab8514411eed7098b4f97d4c910eaf29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ab8514411eed7098b4f97d4c910eaf29","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.078994024Z"}]},"request_id":"ebf57781-0be6-4b05-a4e4-96cc985c07cc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.1751542} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ab8514411eed7098b4f97d4c910eaf29","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab8514411eed7098b4f97d4c910eaf29"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 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":"ab8514411eed7098b4f97d4c910eaf29"} device-1 | {"level":"info","message":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 200 16ms","method":"GET","requestID":"ab8514411eed7098b4f97d4c910eaf29","responseTime":16,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"34e1b9dceee36c7bb9944fe092b4e37f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.177807,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"34e1b9dceee36c7bb9944fe092b4e37f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"34e1b9dceee36c7bb9944fe092b4e37f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to run experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to book experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully booked experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.064887,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179452,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.037630886Z"}]},"request_id":"6262040c-e440-4228-ba1b-70bf21e1775c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.23209} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.078994024Z"}]},"request_id":"87b0e1f4-9aae-494b-b59b-f7b32b92af53","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.235486} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? 200 23ms","method":"GET","requestID":"471ec730-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 200 22ms","method":"GET","requestID":"471f1550-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Setting up experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully locked booking for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to update booking for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully updated booking for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully set up experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"472bbf80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:39392","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.068594,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully running experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f5f6367-6971-4eb6-ab24-2beb4a11e2c8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.315351} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.037630886Z"}]},"request_id":"d8b8adc1-99ec-454d-8958-a62fd4585b24","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3185265} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.653264,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"472bbf80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"472bbf80-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.078994024Z"}]},"request_id":"5835d0f2-ea74-4330-a48e-b3789909450b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3214374} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdaa9d893-2e3c-4b2d-99b9-9e572084ebdc#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdaa9d893-2e3c-4b2d-99b9-9e572084ebdc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d4087eee-361d-4fa2-a6c4-71baf7fb4167","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.328646} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a9955d5-d6ff-486c-943d-addf15db5185","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3288634} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"472bbf80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling 200 27ms","method":"POST","requestID":"472bbf80-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"34e1b9dceee36c7bb9944fe092b4e37f","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? 200 33ms","method":"GET","requestID":"472b2340-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 200 32ms","method":"GET","requestID":"472b7160-e346-11ef-bee8-fdb657b9cb09","responseTime":32,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4730a180-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0e6c29a-f9fc-4ba0-a0f0-8f398b38e908","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3427894} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.350181,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4731da00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4730a180-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","rebac_allow":false,"scope_allow":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":"4730a180-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4730a180-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/signaling 200 13ms","method":"POST","requestID":"4730a180-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/signaling"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"34e1b9dceee36c7bb9944fe092b4e37f","responseTime":162,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b366f5f-056b-445b-ae92-f4b44e828204","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3512552} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.128231,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4731da00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","rebac_allow":false,"scope_allow":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":"4731da00-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"94eaca85b4d4d1cd9955618c8c1fc376"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"94eaca85b4d4d1cd9955618c8c1fc376","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4731da00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling 200 13ms","method":"POST","requestID":"4731da00-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"94eaca85b4d4d1cd9955618c8c1fc376"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47344b00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005656,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"94eaca85b4d4d1cd9955618c8c1fc376","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"94eaca85b4d4d1cd9955618c8c1fc376","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dda27dca-3f2f-4b63-9a3f-b60d23dc02fa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3675833} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.659296,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"47344b00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","rebac_allow":false,"scope_allow":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":"47344b00-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.037630886Z"}]},"request_id":"d31662d3-be07-41da-95bf-a8891090520b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3694522} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"94eaca85b4d4d1cd9955618c8c1fc376","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47344b00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/signaling 200 15ms","method":"POST","requestID":"47344b00-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"94eaca85b4d4d1cd9955618c8c1fc376"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? 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":"94eaca85b4d4d1cd9955618c8c1fc376"} device-1 | {"level":"info","message":"GET /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40? 200 18ms","method":"GET","requestID":"94eaca85b4d4d1cd9955618c8c1fc376","responseTime":18,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Building connection plan","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} 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":"388da890-b97c-4df1-abc6-2e4a842eab57"},{"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":"741eba52-66af-4397-8fb5-7b47088f712a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"643387ad-0807-435f-8227-e8c82d0fdcf4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} 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/aa05cc04-c8ea-427f-843f-5e5971a86a40"},{"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/4197b562-232d-4761-874a-db54195c0253"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"f0c4c9b8ca56f57722219987d46d3ced"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0c4c9b8ca56f57722219987d46d3ced","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0c4c9b8ca56f57722219987d46d3ced"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.900533,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893022,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f0c4c9b8ca56f57722219987d46d3ced","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f0c4c9b8ca56f57722219987d46d3ced","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:43.078994024Z"}]},"request_id":"40b17c67-f7ca-49d6-971c-9d1f71c711ed","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3910122} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f0c4c9b8ca56f57722219987d46d3ced","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0c4c9b8ca56f57722219987d46d3ced"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"159d42d6-f74e-4ff6-8667-49c5fccfa3ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3948772} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 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":"f0c4c9b8ca56f57722219987d46d3ced"} device-1 | {"level":"info","message":"GET /devices/4197b562-232d-4761-874a-db54195c0253? 200 14ms","method":"GET","requestID":"f0c4c9b8ca56f57722219987d46d3ced","responseTime":14,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71880aa7-e833-450e-b161-75bc66973fa9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.3951867} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b'","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b'","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"47370a20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","device":"4197b562-232d-4761-874a-db54195c0253","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/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"34e1b9dceee36c7bb9944fe092b4e37f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"473fe3c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1166cf51-98a6-4d23-87c8-d3e8253b6e1d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.4405048} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.128319,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"473fe3c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"473fe3c0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"473fe3c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling 200 10ms","method":"POST","requestID":"473fe3c0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4741b880-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6802c447-9d40-48af-aebf-4609b32d6bef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.45272} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.312853,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4741b880-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4741b880-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4741b880-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/signaling 200 9ms","method":"POST","requestID":"4741b880-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/signaling"} device-1 | {"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 3426941917270592272 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:PfwJ\r\na=ice-pwd:dxNTZM5LZpwTIv4OUi5yUVPX\r\na=ice-options:trickle\r\na=fingerprint:sha-256 17:D3:26:D1:64:09:E4:E3:D2:EF:27:5A:69:A3:A3:1A:8A:4B:DC:3D:B6:EC:1A:9B:6C:AF:B3:4C:23:28:96:B5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 12686486316546033 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:QA02\r\na=ice-pwd:DXbXonck5g/ZKBN/SWGR87Ru\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9C:DB:81:35:D2:9E:41:D0:3E:C4:66:8B:62:55:0C:50:00:61:D9:82:F6:92:76:6D:86:B4:33:61:62:49:A3:5D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1370483354 1 udp 2113937151 b179f0f8-2f0f-46ee-8fc0-ddec5258104a.local 54119 typ host generation 0 ufrag QA02 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1691943127 1 udp 1677729535 141.24.211.56 54119 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag QA02 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","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/aa05cc04-c8ea-427f-843f-5e5971a86a40'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40'"} device-1 | {"content":{"candidate":"candidate:1726184411 1 udp 2113937151 25534b2a-4807-472e-a96f-d9ad7e328fd2.local 40231 typ host generation 0 ufrag PfwJ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1857761308 1 udp 1677729535 141.24.211.56 40231 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag PfwJ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4197b562-232d-4761-874a-db54195c0253","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/4197b562-232d-4761-874a-db54195c0253'"} device-1 | {"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","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/bfb85d19-e6dd-45cc-98ff-3616a42d650b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9010155de445eca21fa26a6b71c336ce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9010155de445eca21fa26a6b71c336ce","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40"},{"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/4197b562-232d-4761-874a-db54195c0253"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"}}},"level":"info","message":"received a callback","requestID":"9010155de445eca21fa26a6b71c336ce"} device-1 | {"device":"4197b562-232d-4761-874a-db54195c0253","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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":"9010155de445eca21fa26a6b71c336ce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9010155de445eca21fa26a6b71c336ce","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","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/bfb85d19-e6dd-45cc-98ff-3616a42d650b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"366fe5118d313b1b96478e3deddac631","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"366fe5118d313b1b96478e3deddac631","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/aa05cc04-c8ea-427f-843f-5e5971a86a40"},{"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/4197b562-232d-4761-874a-db54195c0253"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"}}},"level":"info","message":"received a callback","requestID":"366fe5118d313b1b96478e3deddac631"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"474e1490-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb85d19-e6dd-45cc-98ff-3616a42d650b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81c258f2-4492-4011-8f4d-6ac668fa6149","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.534029} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.453969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"474e1490-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","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":"474e1490-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"474e1490-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b 200 9ms","method":"GET","requestID":"474e1490-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"366fe5118d313b1b96478e3deddac631","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"366fe5118d313b1b96478e3deddac631"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47520c30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"508e3ef7-2cc2-4995-b5b7-2e9a26687091","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.5593748} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.138531,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"47520c30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"47520c30-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47520c30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling 200 8ms","method":"POST","requestID":"47520c30-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"475392d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f80fc32-73e2-4869-9dda-73ea0608dcca","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.5688784} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.21808,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"475392d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"475392d0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"475392d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/signaling 200 7ms","method":"POST","requestID":"475392d0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.677384,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c9bf319b2e51e5da978fc3eb2e69ab32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32"} experiment-1 | {"level":"info","message":"GET /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc 200 12ms","method":"GET","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32","responseTime":12,"status":200,"url":"/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9bf319b2e51e5da978fc3eb2e69ab32"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"02b1a991accda418cc17b6d19fdfe4b3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.151478,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"02b1a991accda418cc17b6d19fdfe4b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02b1a991accda418cc17b6d19fdfe4b3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Attempting to finish experiment","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.722834,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","device":"aa05cc04-c8ea-427f-843f-5e5971a86a40","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b","device":"4197b562-232d-4761-874a-db54195c0253","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/bfb85d19-e6dd-45cc-98ff-3616a42d650b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb85d19-e6dd-45cc-98ff-3616a42d650b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb85d19-e6dd-45cc-98ff-3616a42d650b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"356618e0-9479-4673-bb53-3b672d488509","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.658921} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da7f373a-6343-4056-bc37-3bac19fc9170","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.659105} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"287382716982068d9c98fcc62aebd1eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"287382716982068d9c98fcc62aebd1eb","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2994d3495e58b87d9d32779fac3ad44a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/aa05cc04-c8ea-427f-843f-5e5971a86a40"},{"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/4197b562-232d-4761-874a-db54195c0253"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"}}},"level":"info","message":"received a callback","requestID":"287382716982068d9c98fcc62aebd1eb"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2994d3495e58b87d9d32779fac3ad44a","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/aa05cc04-c8ea-427f-843f-5e5971a86a40"},{"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/4197b562-232d-4761-874a-db54195c0253"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"}}},"level":"info","message":"received a callback","requestID":"2994d3495e58b87d9d32779fac3ad44a"} device-1 | {"data":{"peerconnection":"bfb85d19-e6dd-45cc-98ff-3616a42d650b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b 204 38ms","method":"DELETE","requestID":"475f0480-e346-11ef-bee8-fdb657b9cb09","responseTime":38,"status":204,"url":"/peerconnections/bfb85d19-e6dd-45cc-98ff-3616a42d650b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"},"level":"info","message":"Successfully finished experiment","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47680530-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa05cc04-c8ea-427f-843f-5e5971a86a40","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f71add33-5db7-4593-b9f9-b0f0798096da","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.704024} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.86975,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"47680530-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"47680530-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47680530-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling 200 9ms","method":"POST","requestID":"47680530-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdaa9d893-2e3c-4b2d-99b9-9e572084ebdc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdaa9d893-2e3c-4b2d-99b9-9e572084ebdc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"446c5aa6-e0f2-4a4a-a7bb-0883cd6c7820","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.7093265} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4769b2e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe1b4e27-d1e3-42e0-a310-e17de9a149aa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.7096932} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"02b1a991accda418cc17b6d19fdfe4b3","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4197b562-232d-4761-874a-db54195c0253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1034ef2e-bdc4-4d0d-9c41-4984b7ca3647","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.7152536} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.966985,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4769b2e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4197b562-232d-4761-874a-db54195c0253","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4769b2e0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4769b2e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4197b562-232d-4761-874a-db54195c0253/signaling 200 9ms","method":"POST","requestID":"4769b2e0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/4197b562-232d-4761-874a-db54195c0253/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02b1a991accda418cc17b6d19fdfe4b3"} experiment-1 | {"level":"info","message":"DELETE /experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc 204 144ms","method":"DELETE","requestID":"02b1a991accda418cc17b6d19fdfe4b3","responseTime":144,"status":204,"url":"/experiments/daa9d893-2e3c-4b2d-99b9-9e572084ebdc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"287382716982068d9c98fcc62aebd1eb","responseTime":115,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"be2e1c288f170519eba491886b0f15f5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"be2e1c288f170519eba491886b0f15f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"2994d3495e58b87d9d32779fac3ad44a","responseTime":119,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"287382716982068d9c98fcc62aebd1eb"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.627994,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"be2e1c288f170519eba491886b0f15f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.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":"c28b49d67e2aa9dcdc63d27f082d2630"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"2994d3495e58b87d9d32779fac3ad44a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.679","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad07e291b400fb8fcd9f605bb6c6c0f5"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4197b562-232d-4761-874a-db54195c0253' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/aa05cc04-c8ea-427f-843f-5e5971a86a40' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f397eef-b330-4d14-aba5-b42e30131544","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8002524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6af1bd7-ef88-4b77-8dd5-bad59226da7e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.805072} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"007d1b97-5c37-4e17-a02e-19ff8f8d6675","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8145263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e253809-bd72-4945-99b0-2f0ddaed4496","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.814559} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.814507901Z"}]},"request_id":"2db291f1-f2a4-4f6d-9a81-465248592ef6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8186471} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"be2e1c288f170519eba491886b0f15f5"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be2e1c288f170519eba491886b0f15f5"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"be2e1c288f170519eba491886b0f15f5","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec","level":"info","message":"auth send jwt","requestID":"12e2f4c24109848319e0d408b8c8a56b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"12e2f4c24109848319e0d408b8c8a56b"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801401,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"12e2f4c24109848319e0d408b8c8a56b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707645,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0NX0.3WO1wEWwEIvd81HxrDOsNojT3nZF7oolHYFRRyO5Fec"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbf06fbc-e31b-4c01-a4f3-44e2b728431c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8392768} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40356587-316d-4efe-adab-d3c88b109eb3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8429677} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"703c60bc-7c70-4634-8e96-6e5bd8debbf9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8549771} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1b82357-9eb5-461d-a9c9-660d72c945a1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.8551106} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"25267d7f-f9cc-4a23-b970-b5cbc98e0718","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707645.859264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"12e2f4c24109848319e0d408b8c8a56b"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"12e2f4c24109848319e0d408b8c8a56b","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12e2f4c24109848319e0d408b8c8a56b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Nn0.wG42dEOtuvnQqkyvROWyU1f8QrlwMMwQ4QODnxUASEU","level":"info","message":"auth send jwt","requestID":"bab9d5635575f00b3836f9f889c3e027"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bab9d5635575f00b3836f9f889c3e027","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bab9d5635575f00b3836f9f889c3e027"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17749,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"bab9d5635575f00b3836f9f889c3e027","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707646,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Nn0.wG42dEOtuvnQqkyvROWyU1f8QrlwMMwQ4QODnxUASEU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bab9d5635575f00b3836f9f889c3e027","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"d28cc53a-a1c6-4ced-90f5-ac64d90a0e3c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707646.3363974} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bab9d5635575f00b3836f9f889c3e027","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ea0bfad-945d-4ad4-914e-413d73ca7910","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707646.341732} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bab9d5635575f00b3836f9f889c3e027","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"ff2e64cc-e7d9-4d62-bc8a-3acce11847cd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707646.3536098} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bab9d5635575f00b3836f9f889c3e027","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bab9d5635575f00b3836f9f889c3e027"} gateway-1 | {"time_local":"04/Feb/2025:22:20:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"bab9d5635575f00b3836f9f889c3e027"} device-1 | {"level":"info","message":"PATCH /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a 200 32ms","method":"PATCH","requestID":"bab9d5635575f00b3836f9f889c3e027","responseTime":32,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Nn0.wG42dEOtuvnQqkyvROWyU1f8QrlwMMwQ4QODnxUASEU","level":"info","message":"auth send jwt","requestID":"78c0323e7806a06b2435b22f19b7b428"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78c0323e7806a06b2435b22f19b7b428","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"78c0323e7806a06b2435b22f19b7b428"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265411,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"78c0323e7806a06b2435b22f19b7b428","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707646,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0Nn0.wG42dEOtuvnQqkyvROWyU1f8QrlwMMwQ4QODnxUASEU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"78c0323e7806a06b2435b22f19b7b428","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"78c0323e7806a06b2435b22f19b7b428"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/websocket 200 20ms","method":"POST","requestID":"78c0323e7806a06b2435b22f19b7b428","responseTime":20,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"78c0323e7806a06b2435b22f19b7b428"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ac4ec4c614b0a8ca273c69431b9737b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ac4ec4c614b0a8ca273c69431b9737b3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bf53be67-b038-4a39-9efd-0dd49b527093/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":"ac4ec4c614b0a8ca273c69431b9737b3"} device-1 | {"level":"info","message":"OPTIONS /devices/bf53be67-b038-4a39-9efd-0dd49b527093/websocket 200 1ms","method":"OPTIONS","requestID":"ac4ec4c614b0a8ca273c69431b9737b3","responseTime":1,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw","level":"info","message":"auth send jwt","requestID":"7e180f1fa9fbae998333beee852f9604"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7e180f1fa9fbae998333beee852f9604","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7e180f1fa9fbae998333beee852f9604"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.419723,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7e180f1fa9fbae998333beee852f9604","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7e180f1fa9fbae998333beee852f9604","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7e180f1fa9fbae998333beee852f9604"} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/websocket 200 20ms","method":"POST","requestID":"7e180f1fa9fbae998333beee852f9604","responseTime":20,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/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":"7e180f1fa9fbae998333beee852f9604"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw","level":"info","message":"auth send jwt","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338104,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7fab7fd58ff2a497f9a74c301fa5e85e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.814507901Z"}]},"request_id":"64631d6a-4f77-4dc6-963a-f323bfeedc83","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707647.9516165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e"} device-1 | {"level":"info","message":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? 200 18ms","method":"GET","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e","responseTime":18,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fab7fd58ff2a497f9a74c301fa5e85e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw","level":"info","message":"auth send jwt","requestID":"62ce656745b2215597302cbaf0ff081f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"62ce656745b2215597302cbaf0ff081f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"62ce656745b2215597302cbaf0ff081f"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305925,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62ce656745b2215597302cbaf0ff081f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62ce656745b2215597302cbaf0ff081f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"c7a352a2-4ec7-480f-bf42-c554b4cafbdc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707647.977725} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"62ce656745b2215597302cbaf0ff081f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"62ce656745b2215597302cbaf0ff081f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62ce656745b2215597302cbaf0ff081f"} device-1 | {"level":"info","message":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? 200 17ms","method":"GET","requestID":"62ce656745b2215597302cbaf0ff081f","responseTime":17,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw","level":"info","message":"auth send jwt","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.261191,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to run experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to book experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully booked experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167463,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244168,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.814507901Z"}]},"request_id":"08fbf041-b7e2-4897-9083-dcdefed7dd4c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.0402718} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"2a40f7ab-e3b1-4841-9cda-e3b7650e663c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.0421486} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? 200 15ms","method":"GET","requestID":"48cbdaf0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? 200 17ms","method":"GET","requestID":"48cbb3e0-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Setting up experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully set up experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48d6d770-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully running experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607968,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.657596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.149363,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fe513d0-9d76-4016-a37c-fd01b753d111","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1102443} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48d6d770-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","rebac_allow":false,"scope_allow":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":"48d6d770-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.814507901Z"}]},"request_id":"a6c0b9ab-e719-478d-961f-9d9ec031919b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1123543} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48d6d770-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"7d553fd7-e9ab-4d8e-a53b-5dd8db977b46","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1152003} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling 200 13ms","method":"POST","requestID":"48d6d770-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48d94870-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? 200 22ms","method":"GET","requestID":"48d66240-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? 200 21ms","method":"GET","requestID":"48d6b060-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a?"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ab87fba-e662-4338-956f-7d386be83f64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1237938} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48da32d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab2ce669-5222-4e29-bb7b-2c0260a85fc4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab2ce669-5222-4e29-bb7b-2c0260a85fc4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"c5df8a55-b270-479e-9b78-7523f3b5f36d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1256428} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.956987,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48d94870-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","rebac_allow":false,"scope_allow":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":"48d94870-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50ec1b4f-1195-45e4-b4bc-e852cda8b55b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.127087} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58ef0158-346d-460b-a1f6-9385d3ec86f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1309607} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.451078,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48da32d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"48da32d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48d94870-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling 200 15ms","method":"POST","requestID":"48d94870-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48da32d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling 200 12ms","method":"POST","requestID":"48da32d0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} gateway-1 | {"time_local":"04/Feb/2025:22:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3","responseTime":148,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48dca3d0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0OH0.ewsS76_GBIcXflXzdxoVmdBEVj_l91G2cn-X7jpkndQ","level":"info","message":"auth send jwt","requestID":"018940ff9c4c976e2b8d9e5772c54429"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"018940ff9c4c976e2b8d9e5772c54429","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"018940ff9c4c976e2b8d9e5772c54429"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76d90fd7-c779-4852-a681-da4a271f8bfd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1457732} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.741099,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889238,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48dca3d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"48dca3d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"018940ff9c4c976e2b8d9e5772c54429","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707648,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0OH0.ewsS76_GBIcXflXzdxoVmdBEVj_l91G2cn-X7jpkndQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"018940ff9c4c976e2b8d9e5772c54429","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48dca3d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling 200 10ms","method":"POST","requestID":"48dca3d0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.814507901Z"}]},"request_id":"5ef25bcd-0bb8-40a1-b381-dc8ec09c14f0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1522238} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Building connection plan","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} 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":"da93e1b8-5f26-4ac0-950b-23f4cbb8d9fa"},{"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":"56fd393a-8e56-41e6-b298-33f63fc986b6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"00854588-884c-45bc-9b42-e7dbdc25f9d2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} 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/bf53be67-b038-4a39-9efd-0dd49b527093"},{"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/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"018940ff9c4c976e2b8d9e5772c54429","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.802389,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707647,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0N30.6iYg7su78FaI0bORREoFHqqf6-K1QE5kfZjEvug0zEw"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"018940ff9c4c976e2b8d9e5772c54429"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? 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":"018940ff9c4c976e2b8d9e5772c54429"} device-1 | {"level":"info","message":"GET /devices/bf53be67-b038-4a39-9efd-0dd49b527093? 200 16ms","method":"GET","requestID":"018940ff9c4c976e2b8d9e5772c54429","responseTime":16,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0OH0.ewsS76_GBIcXflXzdxoVmdBEVj_l91G2cn-X7jpkndQ","level":"info","message":"auth send jwt","requestID":"dd10f707b88c2952881b6b0215ad891d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd10f707b88c2952881b6b0215ad891d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dd10f707b88c2952881b6b0215ad891d"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625552,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"dd10f707b88c2952881b6b0215ad891d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707648,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY0OH0.ewsS76_GBIcXflXzdxoVmdBEVj_l91G2cn-X7jpkndQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dd10f707b88c2952881b6b0215ad891d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"47e38f67-9fbc-4d82-bd0e-1004ca55306f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1680136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bde48e01-0bec-468a-9a64-8a2eb8a2a47c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.1682832} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:45.854951814Z"}]},"request_id":"317a3f9c-9c75-4cdb-8372-d8d3f12bd827","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.172426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd10f707b88c2952881b6b0215ad891d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1'","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1'","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} 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":"48dec6b0-e346-11ef-bee8-fdb657b9cb09","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":"dd10f707b88c2952881b6b0215ad891d"} gateway-1 | {"time_local":"04/Feb/2025:22:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd10f707b88c2952881b6b0215ad891d"} device-1 | {"level":"info","message":"GET /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a? 200 18ms","method":"GET","requestID":"dd10f707b88c2952881b6b0215ad891d","responseTime":18,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"48dec6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","device":"bf53be67-b038-4a39-9efd-0dd49b527093","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/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"71ad4578f2eeb1ee34b4d610f72a6cd3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48e68ee0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55d1ea14-0f72-4f19-9e40-a014fe6f2018","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.2102294} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.764305,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48e68ee0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"48e68ee0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48e68ee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling 200 8ms","method":"POST","requestID":"48e68ee0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48e81580-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28cfe76f-6899-469c-8b37-64468275f411","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707648.2198095} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.069087,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"48e81580-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"48e81580-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48e81580-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling 200 7ms","method":"POST","requestID":"48e81580-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling"} device-1 | {"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1375822112561814680 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:1u1R\r\na=ice-pwd:ArYRZp2A8peTliZWx8F/4mst\r\na=ice-options:trickle\r\na=fingerprint:sha-256 07:96:7E:87:B5:4D:04:53:02:31:72:CE:06:E8:70:D2:78:FB:5A:37:8A:9A:45:74:49:BF:FB:0D:83:5E:AF:AF\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2487122718 1 udp 2113937151 2f7908e2-38ff-494d-a014-dbf8556a26f9.local 44788 typ host generation 0 ufrag 1u1R network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"bf53be67-b038-4a39-9efd-0dd49b527093","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/d1462365-d47d-4bd1-a063-f91e10929be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:2623942873 1 udp 1677729535 141.24.211.56 44788 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 1u1R network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"882285536b30692d095ce8eea7c4eb4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"882285536b30692d095ce8eea7c4eb4e","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/bf53be67-b038-4a39-9efd-0dd49b527093"},{"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/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"}}},"level":"info","message":"received a callback","requestID":"882285536b30692d095ce8eea7c4eb4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"882285536b30692d095ce8eea7c4eb4e","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"882285536b30692d095ce8eea7c4eb4e"} device-1 | {"data":{"peerconnection":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bf53be67-b038-4a39-9efd-0dd49b527093","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/d1462365-d47d-4bd1-a063-f91e10929be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"914cbb16fd34c1af13949d8af0ef44cc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"914cbb16fd34c1af13949d8af0ef44cc","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":"connected","url":"http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093"},{"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/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"}}},"level":"info","message":"received a callback","requestID":"914cbb16fd34c1af13949d8af0ef44cc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4a311040-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd1462365-d47d-4bd1-a063-f91e10929be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bf27fb9-3612-4225-969d-54316106781e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.3809924} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":5.33841,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a311040-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"4a311040-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4a311040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1 200 15ms","method":"GET","requestID":"4a311040-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"914cbb16fd34c1af13949d8af0ef44cc","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"914cbb16fd34c1af13949d8af0ef44cc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a3751d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f46e2b4-97a0-4f80-b64b-d12bc55be637","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.4210494} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.766642,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a3751d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","rebac_allow":false,"scope_allow":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":"4a3751d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a3751d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling 200 15ms","method":"POST","requestID":"4a3751d0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a3a10f0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58173abf-c29c-4bf1-aba9-3e1e7c542af2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.4384172} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.146418,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a3a10f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","rebac_allow":false,"scope_allow":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":"4a3a10f0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a3a10f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling 200 14ms","method":"POST","requestID":"4a3a10f0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0","level":"info","message":"auth send jwt","requestID":"75267b50774faa8e7578fac24d90618a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75267b50774faa8e7578fac24d90618a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","requestID":"75267b50774faa8e7578fac24d90618a"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.323352,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"75267b50774faa8e7578fac24d90618a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707650,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"75267b50774faa8e7578fac24d90618a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","requestID":"75267b50774faa8e7578fac24d90618a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75267b50774faa8e7578fac24d90618a"} experiment-1 | {"level":"info","message":"GET /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4 200 16ms","method":"GET","requestID":"75267b50774faa8e7578fac24d90618a","responseTime":16,"status":200,"url":"/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0","level":"info","message":"auth send jwt","requestID":"58e3db580490d3568f14a40eeb72da97"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"58e3db580490d3568f14a40eeb72da97","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","requestID":"58e3db580490d3568f14a40eeb72da97"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.298477,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58e3db580490d3568f14a40eeb72da97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707650,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"58e3db580490d3568f14a40eeb72da97","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Attempting to finish experiment","requestID":"58e3db580490d3568f14a40eeb72da97"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.257839,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707650,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1","device":"bf53be67-b038-4a39-9efd-0dd49b527093","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b47d8c37-f7a8-474e-9c0a-0c5f117e778a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/d1462365-d47d-4bd1-a063-f91e10929be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd1462365-d47d-4bd1-a063-f91e10929be1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd1462365-d47d-4bd1-a063-f91e10929be1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"623f830b-8062-4511-a9c9-b6afd6ee2ee1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.53292} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b8f5df777e77af0694ce4f3bd6364c0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b8f5df777e77af0694ce4f3bd6364c0","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72cd25a8-c084-442a-bb95-affc1990555b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.5336578} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b3139e6b1b5fc37d8a50f5c136d5a89d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/bf53be67-b038-4a39-9efd-0dd49b527093"},{"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/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"}}},"level":"info","message":"received a callback","requestID":"8b8f5df777e77af0694ce4f3bd6364c0"} 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/bf53be67-b038-4a39-9efd-0dd49b527093"},{"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/b47d8c37-f7a8-474e-9c0a-0c5f117e778a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"}}},"level":"info","message":"received a callback","requestID":"b3139e6b1b5fc37d8a50f5c136d5a89d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3139e6b1b5fc37d8a50f5c136d5a89d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"d1462365-d47d-4bd1-a063-f91e10929be1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1 204 46ms","method":"DELETE","requestID":"4a45a9b0-e346-11ef-bee8-fdb657b9cb09","responseTime":46,"status":204,"url":"/peerconnections/d1462365-d47d-4bd1-a063-f91e10929be1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"},"level":"info","message":"Successfully finished experiment","requestID":"58e3db580490d3568f14a40eeb72da97"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a505810-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf53be67-b038-4a39-9efd-0dd49b527093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc693eb8-ecce-473d-97b3-03ce58a78374","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.5837371} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.517322,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a505810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf53be67-b038-4a39-9efd-0dd49b527093","object_type":"device","rebac_allow":false,"scope_allow":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":"4a505810-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a505810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling 200 14ms","method":"POST","requestID":"4a505810-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/bf53be67-b038-4a39-9efd-0dd49b527093/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab2ce669-5222-4e29-bb7b-2c0260a85fc4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab2ce669-5222-4e29-bb7b-2c0260a85fc4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"48557346-92a5-48d2-9e68-59b333140f4a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.5954437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99ae48dc-0e34-4fb5-aaf1-3704a8c5a741","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.5959573} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a533e40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"58e3db580490d3568f14a40eeb72da97","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb47d8c37-f7a8-474e-9c0a-0c5f117e778a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43f7250a-38f8-48b8-9280-f1e7a4aa15e2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.604111} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.869522,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a533e40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a","object_type":"device","rebac_allow":false,"scope_allow":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":"4a533e40-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a533e40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling 200 15ms","method":"POST","requestID":"4a533e40-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4","requestID":"58e3db580490d3568f14a40eeb72da97"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58e3db580490d3568f14a40eeb72da97"} experiment-1 | {"level":"info","message":"DELETE /experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4 204 182ms","method":"DELETE","requestID":"58e3db580490d3568f14a40eeb72da97","responseTime":182,"status":204,"url":"/experiments/ab2ce669-5222-4e29-bb7b-2c0260a85fc4"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2837","request_time":"4.287","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"5f16d0674a03563c91f28205ea27db99"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"8b8f5df777e77af0694ce4f3bd6364c0","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b8f5df777e77af0694ce4f3bd6364c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"b3139e6b1b5fc37d8a50f5c136d5a89d","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3139e6b1b5fc37d8a50f5c136d5a89d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0","level":"info","message":"auth send jwt","requestID":"9f5a0c483384c24e737ded331b0f978f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f5a0c483384c24e737ded331b0f978f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9f5a0c483384c24e737ded331b0f978f"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.887831,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9f5a0c483384c24e737ded331b0f978f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707650,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.772","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"322fe6b6e1ac3e1b6032764ad392fb20"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b47d8c37-f7a8-474e-9c0a-0c5f117e778a' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b77b0cbe-77fe-4219-be09-6d800211469a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.6978023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"baf3e6ce-57ba-4b0a-9667-492a876ef6da","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.702441} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","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/bf53be67-b038-4a39-9efd-0dd49b527093' closed"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"19a303d2-07d9-4702-a775-31721f182dcd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.7139637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08cfbb80-a90d-41dd-a3df-86e1c5ea7356","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.7142065} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.713942957Z"}]},"request_id":"c9c009e3-9ac9-4f66-ab62-fa7d4bd67594","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.718979} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9f5a0c483384c24e737ded331b0f978f"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f5a0c483384c24e737ded331b0f978f"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"9f5a0c483384c24e737ded331b0f978f","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0","level":"info","message":"auth send jwt","requestID":"8605906d657aec9c64452f85fac063b2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8605906d657aec9c64452f85fac063b2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8605906d657aec9c64452f85fac063b2"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.751308,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8605906d657aec9c64452f85fac063b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707650,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MH0.tdASU9zzpXCz8JJXOFOBPRVGydu967kiyArUm9XKPK0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"838b596e-3bee-4e22-abf2-97f24b0b8774","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.7407973} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c81235c4-0c6d-40ce-b73e-3eae5566533b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.7453094} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"b0e359af-ec7d-4fe2-8471-0b1567fc9f47","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.7552269} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76042a98-e40c-4d44-bda7-372f3f3229b6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.755407} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"9deaa7f3-a049-4e70-a8bd-21e0cb1b1176","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707650.759463} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8605906d657aec9c64452f85fac063b2"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"8605906d657aec9c64452f85fac063b2","responseTime":35,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8605906d657aec9c64452f85fac063b2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MX0.KWSs0CytYRkmpfC5hi6nkrx-aDDwyrUxYIGMTnKNPJ4","level":"info","message":"auth send jwt","requestID":"140d13b1ccc9c3f2371225997441d497"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"140d13b1ccc9c3f2371225997441d497","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"140d13b1ccc9c3f2371225997441d497"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.081935,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"140d13b1ccc9c3f2371225997441d497","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707651,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MX0.KWSs0CytYRkmpfC5hi6nkrx-aDDwyrUxYIGMTnKNPJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"140d13b1ccc9c3f2371225997441d497","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"17c3a758-fa41-452e-9cd5-f17b9391bdd5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707651.224279} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"140d13b1ccc9c3f2371225997441d497","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f79dcdb-0bd3-4443-9668-4e4843256a9d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707651.2299721} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"140d13b1ccc9c3f2371225997441d497","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"5bb9a7f5-19e0-44bd-adec-e18c451042ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707651.24236} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"140d13b1ccc9c3f2371225997441d497","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"140d13b1ccc9c3f2371225997441d497"} gateway-1 | {"time_local":"04/Feb/2025:22:20:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"140d13b1ccc9c3f2371225997441d497"} device-1 | {"level":"info","message":"PATCH /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f 200 33ms","method":"PATCH","requestID":"140d13b1ccc9c3f2371225997441d497","responseTime":33,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MX0.KWSs0CytYRkmpfC5hi6nkrx-aDDwyrUxYIGMTnKNPJ4","level":"info","message":"auth send jwt","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065269,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707651,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1MX0.KWSs0CytYRkmpfC5hi6nkrx-aDDwyrUxYIGMTnKNPJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50"} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/websocket 200 21ms","method":"POST","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50","responseTime":21,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:20:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/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.11","requestID":"b2fb5bb8cf8a93a65697d59aa7f30f50"} device-1 | {"level":"info","message":"device 'http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d9b3c86910e742dfbc86807ffcc9de5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4d9b3c86910e742dfbc86807ffcc9de5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c3997f75-5464-44c9-89ba-f9dade630d31/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":"4d9b3c86910e742dfbc86807ffcc9de5"} device-1 | {"level":"info","message":"OPTIONS /devices/c3997f75-5464-44c9-89ba-f9dade630d31/websocket 200 1ms","method":"OPTIONS","requestID":"4d9b3c86910e742dfbc86807ffcc9de5","responseTime":1,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U","level":"info","message":"auth send jwt","requestID":"fc4c7320fda528338d6651266167778e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc4c7320fda528338d6651266167778e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fc4c7320fda528338d6651266167778e"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245521,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fc4c7320fda528338d6651266167778e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc4c7320fda528338d6651266167778e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fc4c7320fda528338d6651266167778e"} gateway-1 | {"time_local":"04/Feb/2025:22:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/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":"fc4c7320fda528338d6651266167778e"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/websocket 200 21ms","method":"POST","requestID":"fc4c7320fda528338d6651266167778e","responseTime":21,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U","level":"info","message":"auth send jwt","requestID":"99b541b525fc4b9fc1dc10dac9721144"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"99b541b525fc4b9fc1dc10dac9721144","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99b541b525fc4b9fc1dc10dac9721144"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29823,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"99b541b525fc4b9fc1dc10dac9721144","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"99b541b525fc4b9fc1dc10dac9721144","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.713942957Z"}]},"request_id":"893264c6-5874-48e8-a7ee-a46e6770a6cf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707652.8584096} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"99b541b525fc4b9fc1dc10dac9721144","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99b541b525fc4b9fc1dc10dac9721144"} gateway-1 | {"time_local":"04/Feb/2025:22:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99b541b525fc4b9fc1dc10dac9721144"} device-1 | {"level":"info","message":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? 200 18ms","method":"GET","requestID":"99b541b525fc4b9fc1dc10dac9721144","responseTime":18,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U","level":"info","message":"auth send jwt","requestID":"d74475ef04e59496f3adc9969568c8ca"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d74475ef04e59496f3adc9969568c8ca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d74475ef04e59496f3adc9969568c8ca"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.877438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d74475ef04e59496f3adc9969568c8ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d74475ef04e59496f3adc9969568c8ca","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"25a14b4c-9bd2-4ab1-9992-b8f03b707ee4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707652.883441} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d74475ef04e59496f3adc9969568c8ca","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d74475ef04e59496f3adc9969568c8ca"} device-1 | {"level":"info","message":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 200 18ms","method":"GET","requestID":"d74475ef04e59496f3adc9969568c8ca","responseTime":18,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 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":"d74475ef04e59496f3adc9969568c8ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U","level":"info","message":"auth send jwt","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7afc39e05a147b98da8a9b6fda9614fd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.450244,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7afc39e05a147b98da8a9b6fda9614fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7afc39e05a147b98da8a9b6fda9614fd","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to run experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to book experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully booked experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.310583,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353107,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.713942957Z"}]},"request_id":"486d3cb1-4bbd-452a-89fc-029cf164b8e2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707652.950456} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"6cb4e28f-cfb3-495f-be76-c43a54dad55d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707652.9516363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? 200 15ms","method":"GET","requestID":"4bb90fd0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 200 13ms","method":"GET","requestID":"4bb95df0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Setting up experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully set up experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully running experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bc45a70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734249,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891443,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"571b6cc5-e296-4458-89b0-b578bc7a01f0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0240967} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.223275,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bc45a70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","rebac_allow":false,"scope_allow":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":"4bc45a70-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.713942957Z"}]},"request_id":"36c36ca1-a777-4982-9e69-32c9fb3454b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0260339} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"f5aea6a9-3ee5-4e1d-80b4-280f577d389e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.027921} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"4a3d1182-2eae-452d-ae98-f05dfa5b65e3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0332253} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45ad2eec-2166-40b5-9a28-c3bfd8d284ef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.033371} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bc45a70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling 200 19ms","method":"POST","requestID":"4bc45a70-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7afc39e05a147b98da8a9b6fda9614fd","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? 200 22ms","method":"GET","requestID":"4bc40c50-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 200 22ms","method":"GET","requestID":"4bc43360-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bc7b5d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e4f59bd-a209-4487-812f-f1748b00183c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.043104} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.036104,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bc8c740-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bc7b5d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","rebac_allow":false,"scope_allow":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":"4bc7b5d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} gateway-1 | {"time_local":"04/Feb/2025:22:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 149ms","method":"POST","requestID":"7afc39e05a147b98da8a9b6fda9614fd","responseTime":149,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bc7b5d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling 200 13ms","method":"POST","requestID":"4bc7b5d0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b272835a-e741-4b50-94f3-a9b7b53dddd4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0508044} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.558315,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1M30.LR0eg5pAhQpWZI6Y7DaRG290NjgXMp2oZNjOqp55oo0","level":"info","message":"auth send jwt","requestID":"fbad70d63666d0e77820bc504e71a5d4"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bc8c740-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","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":"fbad70d63666d0e77820bc504e71a5d4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4bc8c740-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fbad70d63666d0e77820bc504e71a5d4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bc8c740-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling 200 12ms","method":"POST","requestID":"4bc8c740-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838274,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fbad70d63666d0e77820bc504e71a5d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707653,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1M30.LR0eg5pAhQpWZI6Y7DaRG290NjgXMp2oZNjOqp55oo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fbad70d63666d0e77820bc504e71a5d4","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bcaea20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.713942957Z"}]},"request_id":"c0a3fe22-bfd1-4e54-b820-80e197202d38","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.062201} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e5b1637-0e6c-4c8d-adec-416074cb9276","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0623565} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fbad70d63666d0e77820bc504e71a5d4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.614919,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bcaea20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4bcaea20-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fbad70d63666d0e77820bc504e71a5d4"} device-1 | {"level":"info","message":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? 200 12ms","method":"GET","requestID":"fbad70d63666d0e77820bc504e71a5d4","responseTime":12,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3997f75-5464-44c9-89ba-f9dade630d31? 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":"fbad70d63666d0e77820bc504e71a5d4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bcaea20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling 200 9ms","method":"POST","requestID":"4bcaea20-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Building connection plan","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} 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":"8a33ab23-9405-479a-8ffb-2f01c59d03c5"},{"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":"bc20c3f7-f947-432d-8a89-431350bcc8dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cb716111-5070-4bdb-adb7-5e121ad35362"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} 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/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"},{"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/c3997f75-5464-44c9-89ba-f9dade630d31"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1M30.LR0eg5pAhQpWZI6Y7DaRG290NjgXMp2oZNjOqp55oo0","level":"info","message":"auth send jwt","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.735293,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707652,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Mn0.Ce7moJiBHSYvjq9X4Xm2M3lfNJFMjnnyFN0cIxYOL4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.097986,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707653,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1M30.LR0eg5pAhQpWZI6Y7DaRG290NjgXMp2oZNjOqp55oo0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:50.755205063Z"}]},"request_id":"eaad5a63-5bf8-40c8-b4b8-e85f4c3cdc12","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.079326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 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":"8bbf1f2982dda2a52d7edbb31dd1e10a"} device-1 | {"level":"info","message":"GET /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f? 200 10ms","method":"GET","requestID":"8bbf1f2982dda2a52d7edbb31dd1e10a","responseTime":10,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"087d4850-139c-4506-89a5-53ffa77f966a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.083086} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2fc9558-5ad7-4bc8-996b-b072a34ba78b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.0832734} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7'","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7'","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4bccbee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","device":"c3997f75-5464-44c9-89ba-f9dade630d31","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/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7afc39e05a147b98da8a9b6fda9614fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bd4fc40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83c57a4d-8ce1-48a4-96a7-d570afb3491d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.1283777} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927956,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bd4fc40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4bd4fc40-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bd4fc40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling 200 8ms","method":"POST","requestID":"4bd4fc40-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bd682e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2f9a0e5-6d50-4077-aab2-eeb0c3122261","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707653.1385393} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.263178,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4bd682e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4bd682e0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bd682e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling 200 9ms","method":"POST","requestID":"4bd682e0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling"} device-1 | {"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5340513403308822175 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:7plY\r\na=ice-pwd:5KcpnYsQZqja6b9m18XRI05K\r\na=ice-options:trickle\r\na=fingerprint:sha-256 28:B4:1C:78:80:C9:F1:1A:59:51:CD:0F:DA:CA:4C:0D:C8:42:30:EF:7C:D4:F9:EA:4B:EE:64:09:74:0F:7C:97\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"0279c92d-548e-4423-a8bb-686ec1dd48c7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/0279c92d-548e-4423-a8bb-686ec1dd48c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0279c92d-548e-4423-a8bb-686ec1dd48c7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"97e6d2593b4ae7c15894546b7c40dba2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"97e6d2593b4ae7c15894546b7c40dba2","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/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"},{"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/c3997f75-5464-44c9-89ba-f9dade630d31"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"}}},"level":"info","message":"received a callback","requestID":"97e6d2593b4ae7c15894546b7c40dba2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"97e6d2593b4ae7c15894546b7c40dba2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"97e6d2593b4ae7c15894546b7c40dba2","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:2761715619 1 udp 2113937151 caa17177-f869-49e2-a988-d920141efc0e.local 43336 typ host generation 0 ufrag 7plY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2710855931 1 udp 1677729535 141.24.211.56 43336 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 7plY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4070170480 1 udp 33562623 141.24.210.113 64371 typ relay raddr 141.24.211.56 rport 43336 generation 0 ufrag 7plY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c3997f75-5464-44c9-89ba-f9dade630d31","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/c3997f75-5464-44c9-89ba-f9dade630d31'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31'"} device-1 | {"data":{"peerconnection":"0279c92d-548e-4423-a8bb-686ec1dd48c7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"0279c92d-548e-4423-a8bb-686ec1dd48c7","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/0279c92d-548e-4423-a8bb-686ec1dd48c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0279c92d-548e-4423-a8bb-686ec1dd48c7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"589815ddb7570936759928a8c65110ba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"589815ddb7570936759928a8c65110ba","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/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"},{"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/c3997f75-5464-44c9-89ba-f9dade630d31"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"}}},"level":"info","message":"received a callback","requestID":"589815ddb7570936759928a8c65110ba"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4d182aa0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0279c92d-548e-4423-a8bb-686ec1dd48c7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d61bf55d-3c9f-4338-960f-3a0aa6798cbc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.2476} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.534541,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d182aa0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","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":"4d182aa0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4d182aa0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7 200 10ms","method":"GET","requestID":"4d182aa0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"589815ddb7570936759928a8c65110ba","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"589815ddb7570936759928a8c65110ba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d1cbe80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33f798b0-9e68-4bc1-b992-4011c98982e0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.278442} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.878096,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d1cbe80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4d1cbe80-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d1cbe80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling 200 11ms","method":"POST","requestID":"4d1cbe80-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d1ee160-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3c76929-8689-4fc9-8d40-17bb9a5e8f55","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.2919958} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.616171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d1ee160-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4d1ee160-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d1ee160-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling 200 10ms","method":"POST","requestID":"4d1ee160-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg","level":"info","message":"auth send jwt","requestID":"62324d1e1831ce56f743bf66c90143e2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"62324d1e1831ce56f743bf66c90143e2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","requestID":"62324d1e1831ce56f743bf66c90143e2"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.211551,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62324d1e1831ce56f743bf66c90143e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707655,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62324d1e1831ce56f743bf66c90143e2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","requestID":"62324d1e1831ce56f743bf66c90143e2"} experiment-1 | {"level":"info","message":"GET /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2 200 15ms","method":"GET","requestID":"62324d1e1831ce56f743bf66c90143e2","responseTime":15,"status":200,"url":"/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62324d1e1831ce56f743bf66c90143e2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg","level":"info","message":"auth send jwt","requestID":"dfd374ee9a743917870b8205d5aaf513"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dfd374ee9a743917870b8205d5aaf513","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","requestID":"dfd374ee9a743917870b8205d5aaf513"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.12513,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"dfd374ee9a743917870b8205d5aaf513","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707655,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfd374ee9a743917870b8205d5aaf513","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Attempting to finish experiment","requestID":"dfd374ee9a743917870b8205d5aaf513"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.211788,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707655,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7","device":"c3997f75-5464-44c9-89ba-f9dade630d31","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/0279c92d-548e-4423-a8bb-686ec1dd48c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0279c92d-548e-4423-a8bb-686ec1dd48c7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0279c92d-548e-4423-a8bb-686ec1dd48c7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0279c92d-548e-4423-a8bb-686ec1dd48c7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"a6266957-bd43-4f0b-a9e7-5a7cc5f99cd1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4019048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbc43e92-f411-43d5-a9ce-b8804d49c01d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4021423} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a3edfa98f656e7f6fef051cf3c3eab2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 12ms","method":"POST","requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3edfa98f656e7f6fef051cf3c3eab2f","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28983652360a57ef1405532be64ebf10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"},{"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/c3997f75-5464-44c9-89ba-f9dade630d31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"}}},"level":"info","message":"received a callback","requestID":"a3edfa98f656e7f6fef051cf3c3eab2f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"28983652360a57ef1405532be64ebf10","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f"},{"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/c3997f75-5464-44c9-89ba-f9dade630d31"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"}}},"level":"info","message":"received a callback","requestID":"28983652360a57ef1405532be64ebf10"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7 204 46ms","method":"DELETE","requestID":"4d2c9d00-e346-11ef-bee8-fdb657b9cb09","responseTime":46,"status":204,"url":"/peerconnections/0279c92d-548e-4423-a8bb-686ec1dd48c7"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"},"level":"info","message":"Successfully finished experiment","requestID":"dfd374ee9a743917870b8205d5aaf513"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d374b60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b74a1e00-8d96-44ac-affe-f2552183b08e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4538198} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.34329,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d374b60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f","object_type":"device","rebac_allow":false,"scope_allow":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":"4d374b60-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d374b60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"0c5bb859-9d36-4bb7-8765-bde530389d13","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4609365} device-1 | {"level":"info","message":"POST /devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling 200 15ms","method":"POST","requestID":"4d374b60-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a5b12ac-a334-44fb-9b24-9bee1055f18d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4613218} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"dfd374ee9a743917870b8205d5aaf513","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d39e370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3997f75-5464-44c9-89ba-f9dade630d31","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26dda481-9b8c-4e01-b055-18f760f7ca0a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.4687793} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.553831,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4d39e370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3997f75-5464-44c9-89ba-f9dade630d31","object_type":"device","rebac_allow":false,"scope_allow":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":"4d39e370-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d39e370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling 200 11ms","method":"POST","requestID":"4d39e370-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/c3997f75-5464-44c9-89ba-f9dade630d31/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2","requestID":"dfd374ee9a743917870b8205d5aaf513"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfd374ee9a743917870b8205d5aaf513"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.253","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"cce70094b61168e03cd9424c62aa1996"} experiment-1 | {"level":"info","message":"DELETE /experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2 204 165ms","method":"DELETE","requestID":"dfd374ee9a743917870b8205d5aaf513","responseTime":165,"status":204,"url":"/experiments/1cfd9a35-dfde-4c25-897c-9dea2eb7b8d2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"a3edfa98f656e7f6fef051cf3c3eab2f","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3edfa98f656e7f6fef051cf3c3eab2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"28983652360a57ef1405532be64ebf10","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"28983652360a57ef1405532be64ebf10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg","level":"info","message":"auth send jwt","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/34af2a0f-c7ab-4eb3-9b3f-ed6023eb337f' closed"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.711","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c50a3326852be2053771abce91813e71"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88161,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707655,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","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/c3997f75-5464-44c9-89ba-f9dade630d31' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"540d85bc-d181-40e5-a895-6c0f48e63f40","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.5555918} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"981c1208-b2b6-402c-b190-2b06d5f370ef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.5612912} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"5ebc7382-7758-4f1f-b21f-28c99e9a011d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.5713532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37dc07cf-0774-4ee5-806b-364e30af7f36","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.5715177} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"e6ed80bd-7d2c-4f0f-b917-f1a075b14976","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.5757182} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"4a6e9b214ae575a3e0dc965bb5360c9a","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg","level":"info","message":"auth send jwt","requestID":"44337900e34b64b3e78b71970b3cbf96"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"44337900e34b64b3e78b71970b3cbf96","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"44337900e34b64b3e78b71970b3cbf96"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.997498,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"44337900e34b64b3e78b71970b3cbf96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707655,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1NX0.247sdNsevlcaZM_IR-OinXMTbCv0Yi4vdKaPuBqQWvg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e1e65aed-aa8e-4eee-ac36-a0af6b62df7b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.6052892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08fec630-a588-4cf8-99a0-a0c47fe6fbb4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.6095135} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"e6d06cd7-831b-46f6-9396-46305cb746af","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.618232} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be07b4a6-fc14-424f-a414-f35aadfccd0b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.6183665} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.618206677Z"}]},"request_id":"adc1b4c4-ba8a-4da3-afee-2824a98e12fb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707655.6223383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"44337900e34b64b3e78b71970b3cbf96"} gateway-1 | {"time_local":"04/Feb/2025:22:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44337900e34b64b3e78b71970b3cbf96"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"44337900e34b64b3e78b71970b3cbf96","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Nn0.qto0UtJdeK33oIA4bkym6kZ3Ec_iM7t533tSSr12_ag","level":"info","message":"auth send jwt","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113619,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707656,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Nn0.qto0UtJdeK33oIA4bkym6kZ3Ec_iM7t533tSSr12_ag"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"74fd6427-2ae8-4720-8f2c-169a6c55ad85","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707656.089017} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f75c6e5b-394c-48e5-a170-61761ac6325e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707656.0936368} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"6bf9d138-dfc8-4fe3-a37c-19c409aab114","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707656.1049762} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d"} device-1 | {"level":"info","message":"PATCH /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2 200 30ms","method":"PATCH","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d","responseTime":30,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2"} gateway-1 | {"time_local":"04/Feb/2025:22:20:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f4b8b0dcb0a3d730e2aac6ec767c806d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Nn0.qto0UtJdeK33oIA4bkym6kZ3Ec_iM7t533tSSr12_ag","level":"info","message":"auth send jwt","requestID":"d4de91511ba5f14c3503eb6906c0174b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4de91511ba5f14c3503eb6906c0174b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d4de91511ba5f14c3503eb6906c0174b"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104672,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d4de91511ba5f14c3503eb6906c0174b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707656,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1Nn0.qto0UtJdeK33oIA4bkym6kZ3Ec_iM7t533tSSr12_ag"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d4de91511ba5f14c3503eb6906c0174b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d4de91511ba5f14c3503eb6906c0174b"} gateway-1 | {"time_local":"04/Feb/2025:22:20:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/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.11","requestID":"d4de91511ba5f14c3503eb6906c0174b"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/websocket 200 14ms","method":"POST","requestID":"d4de91511ba5f14c3503eb6906c0174b","responseTime":14,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d40ec198b1bd9e98e2533c222816612","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d40ec198b1bd9e98e2533c222816612","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/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":"3d40ec198b1bd9e98e2533c222816612"} device-1 | {"level":"info","message":"OPTIONS /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/websocket 200 1ms","method":"OPTIONS","requestID":"3d40ec198b1bd9e98e2533c222816612","responseTime":1,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"b16d04a376f8939bcf935d5accb8c174"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b16d04a376f8939bcf935d5accb8c174","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b16d04a376f8939bcf935d5accb8c174"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190679,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b16d04a376f8939bcf935d5accb8c174","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b16d04a376f8939bcf935d5accb8c174","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b16d04a376f8939bcf935d5accb8c174"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/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":"b16d04a376f8939bcf935d5accb8c174"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/websocket 200 22ms","method":"POST","requestID":"b16d04a376f8939bcf935d5accb8c174","responseTime":22,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210739,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"58cac13d-dbc4-4d67-9902-acc2e62cf1d0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.7148561} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a"} device-1 | {"level":"info","message":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? 200 16ms","method":"GET","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a","responseTime":16,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2?"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7b026d01ea2f789c51d35c7ed9dcb8a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"d22b4232acee59496531793e2441534c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d22b4232acee59496531793e2441534c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d22b4232acee59496531793e2441534c"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.512566,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d22b4232acee59496531793e2441534c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d22b4232acee59496531793e2441534c","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.618206677Z"}]},"request_id":"1b39e190-4b04-42e6-bd5a-20645d707114","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.7385511} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d22b4232acee59496531793e2441534c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d22b4232acee59496531793e2441534c"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 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":"d22b4232acee59496531793e2441534c"} device-1 | {"level":"info","message":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 200 17ms","method":"GET","requestID":"d22b4232acee59496531793e2441534c","responseTime":17,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.177222,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58af56ea1e01fe4c9febc54b9fb6f86b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to run experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to book experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully booked experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163271,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233773,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"330fd07a-5224-4c44-9afd-510068d0adf1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8007393} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.618206677Z"}]},"request_id":"feb59a2a-c1d2-4cc6-bec5-0ea747e8611a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8017642} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? 200 19ms","method":"GET","requestID":"4e9cced0-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 200 18ms","method":"GET","requestID":"4e9d1cf0-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Setting up experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully locked booking for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to update booking for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully updated booking for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully set up experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ea8dcc0-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully running experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.644409,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.350528,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01901280-fc2e-46a6-9cc6-ce86543454f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.879515} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.471575,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ea8dcc0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","rebac_allow":false,"scope_allow":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":"4ea8dcc0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"5433460c-1e98-4332-9cc3-e530f9ee0fb9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8829246} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ea8dcc0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling 200 20ms","method":"POST","requestID":"4ea8dcc0-e346-11ef-bee8-fdb657b9cb09","responseTime":20,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.618206677Z"}]},"request_id":"628ed995-da1c-4409-807a-b48e7f107640","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8862958} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F685595ae-6672-4540-ada6-e2a97be62a25#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F685595ae-6672-4540-ada6-e2a97be62a25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"85d17491-cb69-4c23-bcc1-51171c219e38","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8905067} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff5f9d70-e200-4129-9a47-d7a9a5353a5d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.890884} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eacad50-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? 200 31ms","method":"GET","requestID":"4ea84080-e346-11ef-bee8-fdb657b9cb09","responseTime":31,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2?"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 200 32ms","method":"GET","requestID":"4ea88ea0-e346-11ef-bee8-fdb657b9cb09","responseTime":32,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b32f8f73-8159-4d77-a538-102769100052","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.8994923} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.90041,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4eacad50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","rebac_allow":false,"scope_allow":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":"4eacad50-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eae8210-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eacad50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling 200 14ms","method":"POST","requestID":"4eacad50-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b","responseTime":158,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86c56bb1-a84a-4138-b8a5-5850dbc4d651","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.9113653} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.635026,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4eae8210-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4eae8210-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"bdc9b7805c5641af99f765ac39894542"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bdc9b7805c5641af99f765ac39894542","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bdc9b7805c5641af99f765ac39894542"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eae8210-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling 200 13ms","method":"POST","requestID":"4eae8210-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036111,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"bdc9b7805c5641af99f765ac39894542","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bdc9b7805c5641af99f765ac39894542","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eb0f310-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.571333049Z"}]},"request_id":"0b1292f8-30fb-4bca-ab84-e2cffdd863f9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.92559} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5feada2f-881c-4a34-ab44-4ad3375e72f5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.9257975} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bdc9b7805c5641af99f765ac39894542","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.781173,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4eb0f310-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4eb0f310-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bdc9b7805c5641af99f765ac39894542"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdc9b7805c5641af99f765ac39894542"} device-1 | {"level":"info","message":"GET /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2? 200 16ms","method":"GET","requestID":"bdc9b7805c5641af99f765ac39894542","responseTime":16,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eb0f310-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling 200 11ms","method":"POST","requestID":"4eb0f310-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Building connection plan","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} 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":"bb1b4159-a893-48ff-b443-cc775ce45fb9"},{"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":"3168e9f7-ac29-4cf3-92e8-8967b2da07cf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"959433d1-df1e-4cb0-8fad-0ae27e104291"}]},"level":"info","message":"Built pairwise service configurations","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} 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/964c3de6-1acb-4f32-8a8a-c8badb7fe34c"},{"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/5fac2703-1281-41c0-aee5-a64ff6be19d2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k","level":"info","message":"auth send jwt","requestID":"5215cd5e013e2b9154b05874e6a131b5"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5215cd5e013e2b9154b05874e6a131b5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5215cd5e013e2b9154b05874e6a131b5"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.807377,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772516,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5215cd5e013e2b9154b05874e6a131b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707657,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY1N30.Vxq0uO-Qy37ch0HFX0kVR5lJWuzRBMuErXkwgH_eg_k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5215cd5e013e2b9154b05874e6a131b5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:20:55.618206677Z"}]},"request_id":"6e281475-07b4-4b31-9819-3c148c957ece","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.945286} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5215cd5e013e2b9154b05874e6a131b5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5215cd5e013e2b9154b05874e6a131b5"} gateway-1 | {"time_local":"04/Feb/2025:22:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 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":"5215cd5e013e2b9154b05874e6a131b5"} device-1 | {"level":"info","message":"GET /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c? 200 13ms","method":"GET","requestID":"5215cd5e013e2b9154b05874e6a131b5","responseTime":13,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"84144462-bbf3-4114-a142-cb13a852b583","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.9507084} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f12cab53-add8-4a66-b9f5-648ce9a24cff","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.9510136} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c'","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c'","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4eb315f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","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/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"58af56ea1e01fe4c9febc54b9fb6f86b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ebbc880-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c2c926d-2329-41db-b6fb-493241820e9a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707657.9970932} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.523951,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ebbc880-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ebbc880-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ebbc880-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling 200 10ms","method":"POST","requestID":"4ebbc880-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ebd7630-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:20:58Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dfa6bcc-ee0a-4481-b281-2527be307646","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707658.007576} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257998,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:20:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ebd7630-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ebd7630-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ebd7630-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling 200 9ms","method":"POST","requestID":"4ebd7630-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling"} device-1 | {"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2680168965649625826 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:sL/c\r\na=ice-pwd:zxksEa5NCFZOW4qpSgGXCc8w\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1A:94:AC:75:51:4C:5C:F4:01:16:F8:60:1D:7B:95:09:8E:27:62:5B:8B:BA:CB:70:36:2C:A3:B4:AE:15:07:00\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:184746466 1 udp 2113937151 d208fb64-0547-43db-a209-1bd70368da89.local 38473 typ host generation 0 ufrag sL/c network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/378581eb-b5a5-4d37-875f-22424266eb0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"candidate":"candidate:235605690 1 udp 1677729535 141.24.211.56 38473 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag sL/c network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e9d67ba6fcd3e45d39bcabb5aee5c1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","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","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/964c3de6-1acb-4f32-8a8a-c8badb7fe34c"},{"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/5fac2703-1281-41c0-aee5-a64ff6be19d2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"}}},"level":"info","message":"received a callback","requestID":"3e9d67ba6fcd3e45d39bcabb5aee5c1e"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e9d67ba6fcd3e45d39bcabb5aee5c1e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"3e9d67ba6fcd3e45d39bcabb5aee5c1e","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e9d67ba6fcd3e45d39bcabb5aee5c1e"} device-1 | {"data":{"peerconnection":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","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/378581eb-b5a5-4d37-875f-22424266eb0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a97c3c8afe9788edcc06ec2ba9ad7c15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a97c3c8afe9788edcc06ec2ba9ad7c15","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/964c3de6-1acb-4f32-8a8a-c8badb7fe34c"},{"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/5fac2703-1281-41c0-aee5-a64ff6be19d2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"}}},"level":"info","message":"received a callback","requestID":"a97c3c8afe9788edcc06ec2ba9ad7c15"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4ffad830-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F378581eb-b5a5-4d37-875f-22424266eb0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee737c7a-5b67-4f75-85e7-72933c88cd8b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.0882816} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.897545,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4ffad830-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4ffad830-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4ffad830-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c 200 10ms","method":"GET","requestID":"4ffad830-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"a97c3c8afe9788edcc06ec2ba9ad7c15","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"a97c3c8afe9788edcc06ec2ba9ad7c15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4fff4500-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e468665-1b19-4ea3-8124-e10e3ab447db","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.1171935} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.22655,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4fff4500-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4fff4500-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4fff4500-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling 200 10ms","method":"POST","requestID":"4fff4500-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"500119c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"244700dd-8c8e-418d-9b5d-a990b6db5d31","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.1294641} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.252282,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"500119c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"500119c0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"500119c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling 200 11ms","method":"POST","requestID":"500119c0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"5975a4bc3c64889e5c8ed0290656d530"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5975a4bc3c64889e5c8ed0290656d530","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/685595ae-6672-4540-ada6-e2a97be62a25","requestID":"5975a4bc3c64889e5c8ed0290656d530"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.206082,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5975a4bc3c64889e5c8ed0290656d530","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5975a4bc3c64889e5c8ed0290656d530","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/685595ae-6672-4540-ada6-e2a97be62a25","requestID":"5975a4bc3c64889e5c8ed0290656d530"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/685595ae-6672-4540-ada6-e2a97be62a25 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5975a4bc3c64889e5c8ed0290656d530"} experiment-1 | {"level":"info","message":"GET /experiments/685595ae-6672-4540-ada6-e2a97be62a25 200 14ms","method":"GET","requestID":"5975a4bc3c64889e5c8ed0290656d530","responseTime":14,"status":200,"url":"/experiments/685595ae-6672-4540-ada6-e2a97be62a25"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57353f468062a40d7f9ba0baa0fa5cbc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/685595ae-6672-4540-ada6-e2a97be62a25","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186119,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"57353f468062a40d7f9ba0baa0fa5cbc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"57353f468062a40d7f9ba0baa0fa5cbc","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Attempting to finish experiment","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.228036,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c","device":"964c3de6-1acb-4f32-8a8a-c8badb7fe34c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5fac2703-1281-41c0-aee5-a64ff6be19d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/378581eb-b5a5-4d37-875f-22424266eb0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"378581eb-b5a5-4d37-875f-22424266eb0c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F378581eb-b5a5-4d37-875f-22424266eb0c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F378581eb-b5a5-4d37-875f-22424266eb0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"c7f47f73-c701-4c60-87ef-d769ba50f58c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.2278214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a150cb47-7df5-420e-b996-c817c2411152","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.2281227} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f81cfaa5d7fb9f98e1cd08b2022d1e6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f81cfaa5d7fb9f98e1cd08b2022d1e6","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b43c25d2221937b844fc8fe7ebd055f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c"},{"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/5fac2703-1281-41c0-aee5-a64ff6be19d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"}}},"level":"info","message":"received a callback","requestID":"0f81cfaa5d7fb9f98e1cd08b2022d1e6"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"5b43c25d2221937b844fc8fe7ebd055f","responseTime":0,"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/964c3de6-1acb-4f32-8a8a-c8badb7fe34c"},{"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/5fac2703-1281-41c0-aee5-a64ff6be19d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"}}},"level":"info","message":"received a callback","requestID":"5b43c25d2221937b844fc8fe7ebd055f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c 204 24ms","method":"DELETE","requestID":"500e3920-e346-11ef-bee8-fdb657b9cb09","responseTime":24,"status":204,"url":"/peerconnections/378581eb-b5a5-4d37-875f-22424266eb0c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/685595ae-6672-4540-ada6-e2a97be62a25"},"level":"info","message":"Successfully finished experiment","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5014c8d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F964c3de6-1acb-4f32-8a8a-c8badb7fe34c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c11e01e-323e-4974-810e-ccf5eb229c9b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.258632} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.891168,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5014c8d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5014c8d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5014c8d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling 200 10ms","method":"POST","requestID":"5014c8d0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50169d90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F685595ae-6672-4540-ada6-e2a97be62a25': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F685595ae-6672-4540-ada6-e2a97be62a25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"e815ff8d-0c76-4735-a401-570701559444","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.2679317} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1837e77f-6d3e-4c99-ad6e-09ad312d9d2e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.268325} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"57353f468062a40d7f9ba0baa0fa5cbc","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fac2703-1281-41c0-aee5-a64ff6be19d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d54bdddf-7f8e-4a15-b6da-0d3add0bfcdd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.2712889} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.135033,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50169d90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2","object_type":"device","rebac_allow":false,"scope_allow":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":"50169d90-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50169d90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling 200 10ms","method":"POST","requestID":"50169d90-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/685595ae-6672-4540-ada6-e2a97be62a25","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/685595ae-6672-4540-ada6-e2a97be62a25 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57353f468062a40d7f9ba0baa0fa5cbc"} experiment-1 | {"level":"info","message":"DELETE /experiments/685595ae-6672-4540-ada6-e2a97be62a25 204 137ms","method":"DELETE","requestID":"57353f468062a40d7f9ba0baa0fa5cbc","responseTime":137,"status":204,"url":"/experiments/685595ae-6672-4540-ada6-e2a97be62a25"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2837","request_time":"4.203","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a7ef5e59c755f32548a6b0c664a9cf31"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"0f81cfaa5d7fb9f98e1cd08b2022d1e6","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f81cfaa5d7fb9f98e1cd08b2022d1e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"5b43c25d2221937b844fc8fe7ebd055f","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b43c25d2221937b844fc8fe7ebd055f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"2301e6fd21f9ac3db535baf232204580"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2301e6fd21f9ac3db535baf232204580"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.659","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7333ae2be6bbf06cf407d5f628496be5"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5fac2703-1281-41c0-aee5-a64ff6be19d2' closed"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.96598,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2301e6fd21f9ac3db535baf232204580","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/964c3de6-1acb-4f32-8a8a-c8badb7fe34c' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a93a312d-38a5-4b6c-b527-c0bf3683eec7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.3614597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1618cbc1-efca-4658-b7d0-1454d078d43a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.3660984} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2fc4b299-e9a7-4b03-a427-7a4f56e9fb4a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.3784096} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"996713eb-6e12-4eb9-bc0c-028d8583ff65","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.3785043} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"0c85bab8-b4be-4fd1-88fb-497672f6b985","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.382816} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2301e6fd21f9ac3db535baf232204580"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2301e6fd21f9ac3db535baf232204580"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"2301e6fd21f9ac3db535baf232204580","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"87781933421879018d4a85ac4dd7ea4b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87781933421879018d4a85ac4dd7ea4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"87781933421879018d4a85ac4dd7ea4b"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968065,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"87781933421879018d4a85ac4dd7ea4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ff37792-f525-4681-a1fc-5c3052c70746","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.4043868} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a120de4-a40b-40f2-a543-8a32146cb3bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.4087808} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"56be9d32-24d2-44de-89a1-e0fdc59724c0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.4180872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83c88337-569e-4c5b-98d9-42ca006f788e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.4182007} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.418064959Z"}]},"request_id":"7a48a018-533a-43d3-94d0-2dce5b7a990d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.4223785} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"87781933421879018d4a85ac4dd7ea4b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87781933421879018d4a85ac4dd7ea4b"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"87781933421879018d4a85ac4dd7ea4b","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"f58d78685ecca2a27c168d59640eddf9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f58d78685ecca2a27c168d59640eddf9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f58d78685ecca2a27c168d59640eddf9"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212018,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f58d78685ecca2a27c168d59640eddf9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f58d78685ecca2a27c168d59640eddf9","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"bcadfd6d-88e1-4293-8161-7e599153741f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.89159} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f58d78685ecca2a27c168d59640eddf9","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"355d8b0b-ac31-4582-840a-18f9f1278924","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.8986037} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f58d78685ecca2a27c168d59640eddf9","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"472e8c80-02c5-40b2-a3d7-c57115dc8b1d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707660.9105108} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f58d78685ecca2a27c168d59640eddf9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f58d78685ecca2a27c168d59640eddf9"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8d6fac50-e796-4e45-842b-f0bf58600df6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f58d78685ecca2a27c168d59640eddf9"} device-1 | {"level":"info","message":"PATCH /devices/8d6fac50-e796-4e45-842b-f0bf58600df6 200 35ms","method":"PATCH","requestID":"f58d78685ecca2a27c168d59640eddf9","responseTime":35,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA","level":"info","message":"auth send jwt","requestID":"156189ad677a709bca1c42b6cdeb4713"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"156189ad677a709bca1c42b6cdeb4713","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"156189ad677a709bca1c42b6cdeb4713"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"156189ad677a709bca1c42b6cdeb4713","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707660,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2MH0.9hyd1VFRRwZ8u91H43P4Vkm3zbZlVzKa3ZfWaYJ-lzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"156189ad677a709bca1c42b6cdeb4713","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"156189ad677a709bca1c42b6cdeb4713"} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/websocket 200 23ms","method":"POST","requestID":"156189ad677a709bca1c42b6cdeb4713","responseTime":23,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"156189ad677a709bca1c42b6cdeb4713"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cba633fe6f63f36e4b935b98a4eb82d1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cba633fe6f63f36e4b935b98a4eb82d1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/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":"cba633fe6f63f36e4b935b98a4eb82d1"} device-1 | {"level":"info","message":"OPTIONS /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/websocket 200 1ms","method":"OPTIONS","requestID":"cba633fe6f63f36e4b935b98a4eb82d1","responseTime":1,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"07c1a2a1fe0426e7de776692d2c036dd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07c1a2a1fe0426e7de776692d2c036dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"07c1a2a1fe0426e7de776692d2c036dd"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.643791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"07c1a2a1fe0426e7de776692d2c036dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"07c1a2a1fe0426e7de776692d2c036dd","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"07c1a2a1fe0426e7de776692d2c036dd"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/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":"07c1a2a1fe0426e7de776692d2c036dd"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/websocket 200 21ms","method":"POST","requestID":"07c1a2a1fe0426e7de776692d2c036dd","responseTime":21,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"2bbbce3370a49d873136ccf8826ccf76"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2bbbce3370a49d873136ccf8826ccf76","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2bbbce3370a49d873136ccf8826ccf76"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188117,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2bbbce3370a49d873136ccf8826ccf76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2bbbce3370a49d873136ccf8826ccf76","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"f70932c1-a4ed-411a-a5ec-b961c17a77a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.4879982} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2bbbce3370a49d873136ccf8826ccf76","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2bbbce3370a49d873136ccf8826ccf76"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bbbce3370a49d873136ccf8826ccf76"} device-1 | {"level":"info","message":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? 200 18ms","method":"GET","requestID":"2bbbce3370a49d873136ccf8826ccf76","responseTime":18,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"1410e98bd1124c3662fd9990c90936cc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1410e98bd1124c3662fd9990c90936cc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1410e98bd1124c3662fd9990c90936cc"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221402,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1410e98bd1124c3662fd9990c90936cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"1410e98bd1124c3662fd9990c90936cc","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.418064959Z"}]},"request_id":"f9ea9f33-f5b8-45cc-a0b4-47090a868090","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.5201037} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"1410e98bd1124c3662fd9990c90936cc","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1410e98bd1124c3662fd9990c90936cc"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1410e98bd1124c3662fd9990c90936cc"} device-1 | {"level":"info","message":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? 200 25ms","method":"GET","requestID":"1410e98bd1124c3662fd9990c90936cc","responseTime":25,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"17a386ac124175eb8bdce4fe6279e908"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17a386ac124175eb8bdce4fe6279e908","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"17a386ac124175eb8bdce4fe6279e908"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.192184,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"17a386ac124175eb8bdce4fe6279e908","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17a386ac124175eb8bdce4fe6279e908","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to run experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to book experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully booked experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804671,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"6c288370-15b7-43e9-9419-2605c3f8854e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.5868843} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.418064959Z"}]},"request_id":"8eb90a59-162c-4ac1-a2ce-72c9b4f641bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.5877078} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? 200 19ms","method":"GET","requestID":"51773f00-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? 200 19ms","method":"GET","requestID":"51778d20-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Setting up experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully locked booking for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to update booking for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully updated booking for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully set up experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51837400-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.678094,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully running experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210711,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1859379-d62b-465b-b5bf-d2fd82eb5d64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.6652067} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.710255,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"51837400-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","rebac_allow":false,"scope_allow":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":"51837400-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.418064959Z"}]},"request_id":"c6e48866-fff7-4e28-9b73-6ed411d93066","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.6690662} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51837400-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"2e0dbd55-36bf-41ae-9e5b-426d7619558c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.6741064} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling 200 19ms","method":"POST","requestID":"51837400-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5186f670-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c96adea-652c-4e93-b261-f92333b00973#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c96adea-652c-4e93-b261-f92333b00973","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"385ba328-8bad-4fb0-b5b2-aefab8efc7d7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.6792862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cec824c-c69c-4941-b03a-f4e87bde9f4d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.679713} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"17a386ac124175eb8bdce4fe6279e908","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? 200 32ms","method":"GET","requestID":"5182fed0-e346-11ef-bee8-fdb657b9cb09","responseTime":32,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e?"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? 200 36ms","method":"GET","requestID":"5182d7c0-e346-11ef-bee8-fdb657b9cb09","responseTime":36,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5aaebfc2-9247-410b-af29-86dee376a18d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.689055} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.936958,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5186f670-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","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":"5188f240-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"5186f670-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"17a386ac124175eb8bdce4fe6279e908"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"17a386ac124175eb8bdce4fe6279e908","responseTime":163,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5186f670-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling 200 18ms","method":"POST","requestID":"5186f670-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5e31a18-1e02-4550-9be5-1dd0f9e496ca","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.6996574} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.656889,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5188f240-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","rebac_allow":false,"scope_allow":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":"5188f240-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"755d0e8ba843605374365a28fd7e0901"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"755d0e8ba843605374365a28fd7e0901","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"755d0e8ba843605374365a28fd7e0901"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5188f240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling 200 14ms","method":"POST","requestID":"5188f240-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033649,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"755d0e8ba843605374365a28fd7e0901","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"755d0e8ba843605374365a28fd7e0901","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"518b6340-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.378380811Z"}]},"request_id":"530821fa-fc50-4b9c-b5a4-aabf3fd49dd8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.7128713} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6de3eef-c87f-477e-89b2-5db25324f56d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.713043} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"755d0e8ba843605374365a28fd7e0901","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707568,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"518b6340-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"518b6340-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"755d0e8ba843605374365a28fd7e0901"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"755d0e8ba843605374365a28fd7e0901"} device-1 | {"level":"info","message":"GET /devices/8d6fac50-e796-4e45-842b-f0bf58600df6? 200 14ms","method":"GET","requestID":"755d0e8ba843605374365a28fd7e0901","responseTime":14,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"518b6340-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling 200 11ms","method":"POST","requestID":"518b6340-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Building connection plan","requestID":"17a386ac124175eb8bdce4fe6279e908"} 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":"299bd7b7-f7ee-4e00-8d6a-1cbffc914686"},{"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":"4eede583-5047-4210-9dc4-cca17dfce150"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"98e69d3b-4701-40b2-b9a3-1b928a0d6846"}]},"level":"info","message":"Built pairwise service configurations","requestID":"17a386ac124175eb8bdce4fe6279e908"} 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/8d6fac50-e796-4e45-842b-f0bf58600df6"},{"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/f26a7c47-d084-4da2-833f-95cd71dbd00e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"17a386ac124175eb8bdce4fe6279e908"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk","level":"info","message":"auth send jwt","requestID":"2992ae3a74c9de3e8a89eb1551dc296d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2992ae3a74c9de3e8a89eb1551dc296d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2992ae3a74c9de3e8a89eb1551dc296d"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.755299,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634949,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2992ae3a74c9de3e8a89eb1551dc296d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707662,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2Mn0.WKln6JAt0pca_rSXeYfQJ8GaeVYPXOHSBsejE1JfjOk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2992ae3a74c9de3e8a89eb1551dc296d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:00.418064959Z"}]},"request_id":"a8704463-4811-41c7-a068-8f9deeb05069","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.7311296} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2992ae3a74c9de3e8a89eb1551dc296d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2992ae3a74c9de3e8a89eb1551dc296d"} gateway-1 | {"time_local":"04/Feb/2025:22:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? 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":"2992ae3a74c9de3e8a89eb1551dc296d"} device-1 | {"level":"info","message":"GET /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e? 200 10ms","method":"GET","requestID":"2992ae3a74c9de3e8a89eb1551dc296d","responseTime":10,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2558ff0e-ff9e-4c30-980c-b1c864bb4178","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.7350101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b995f520-af36-46fc-ac16-5c2e7d712235","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.7352986} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d'","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d'","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} 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":"518d8620-e346-11ef-bee8-fdb657b9cb09","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"518d8620-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","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/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"17a386ac124175eb8bdce4fe6279e908"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5196ade0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1fe7f80-d8b3-4b1a-8004-a326cf4ab01b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.787094} device-1 | {"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.698753,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5196ade0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5196ade0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7530381786252697673 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:XOsd\r\na=ice-pwd:octnbBR5VKKF0JoHvgfyvk90\r\na=ice-options:trickle\r\na=fingerprint:sha-256 40:3B:16:3D:C7:85:1C:DE:B3:9D:C7:34:41:27:21:8D:25:F9:FB:0B:E5:F5:CD:6C:D8:4F:1A:1C:B6:42:C3:3E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5196ade0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling 200 12ms","method":"POST","requestID":"5196ade0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5198d0c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d0eab4b-5164-458e-b18a-7d2e32d4fbf1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707662.799385} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.074815,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5198d0c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5198d0c0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5198d0c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling 200 7ms","method":"POST","requestID":"5198d0c0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling"} device-1 | {"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/b1deee91-51c9-47a1-b840-300c8eee504d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f74938515807e7b6a95fc9be7e59ebe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9f74938515807e7b6a95fc9be7e59ebe","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/8d6fac50-e796-4e45-842b-f0bf58600df6"},{"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/f26a7c47-d084-4da2-833f-95cd71dbd00e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"}}},"level":"info","message":"received a callback","requestID":"9f74938515807e7b6a95fc9be7e59ebe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"9f74938515807e7b6a95fc9be7e59ebe","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f74938515807e7b6a95fc9be7e59ebe"} device-1 | {"content":{"candidate":"candidate:291880668 1 udp 2113937151 320e8726-b132-4a62-817b-4a74cb60d6a0.local 53601 typ host generation 0 ufrag XOsd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:423490843 1 udp 1677729535 141.24.211.56 53601 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag XOsd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2802929385 1 udp 33562623 141.24.210.113 64228 typ relay raddr 141.24.211.56 rport 53601 generation 0 ufrag XOsd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","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/f26a7c47-d084-4da2-833f-95cd71dbd00e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e'"} device-1 | {"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"b1deee91-51c9-47a1-b840-300c8eee504d","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/b1deee91-51c9-47a1-b840-300c8eee504d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d773e25118e66d413d27fcf2741888d6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d773e25118e66d413d27fcf2741888d6","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/8d6fac50-e796-4e45-842b-f0bf58600df6"},{"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/f26a7c47-d084-4da2-833f-95cd71dbd00e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"}}},"level":"info","message":"received a callback","requestID":"d773e25118e66d413d27fcf2741888d6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"52d9dc40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1deee91-51c9-47a1-b840-300c8eee504d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed94e0db-de30-441c-a057-ae0d6695e847","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707664.9060376} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.276329,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52d9dc40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","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":"52d9dc40-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"52d9dc40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d 200 11ms","method":"GET","requestID":"52d9dc40-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"d773e25118e66d413d27fcf2741888d6","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"d773e25118e66d413d27fcf2741888d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52df0c60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9325769-e420-4437-93e3-e2ba3cc0049c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707664.9405947} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.714827,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52df0c60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","rebac_allow":false,"scope_allow":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":"52df0c60-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"52df0c60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling 200 12ms","method":"POST","requestID":"52df0c60-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52e15650-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38f03c24-c75c-4108-997b-667afae5160c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707664.9548597} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.585031,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52e15650-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","rebac_allow":false,"scope_allow":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":"52e15650-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"52e15650-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling 200 12ms","method":"POST","requestID":"52e15650-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NH0.cmzC-1sOF81TiHpF221hVrdF702yzGVUW1Or1fZ43YM","level":"info","message":"auth send jwt","requestID":"2efdbbea9b4fb125560c2c0886331895"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2efdbbea9b4fb125560c2c0886331895","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c96adea-652c-4e93-b261-f92333b00973","requestID":"2efdbbea9b4fb125560c2c0886331895"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.112582,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2efdbbea9b4fb125560c2c0886331895","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707664,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NH0.cmzC-1sOF81TiHpF221hVrdF702yzGVUW1Or1fZ43YM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2efdbbea9b4fb125560c2c0886331895","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c96adea-652c-4e93-b261-f92333b00973","requestID":"2efdbbea9b4fb125560c2c0886331895"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c96adea-652c-4e93-b261-f92333b00973 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2efdbbea9b4fb125560c2c0886331895"} experiment-1 | {"level":"info","message":"GET /experiments/6c96adea-652c-4e93-b261-f92333b00973 200 15ms","method":"GET","requestID":"2efdbbea9b4fb125560c2c0886331895","responseTime":15,"status":200,"url":"/experiments/6c96adea-652c-4e93-b261-f92333b00973"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"0d5e4b0e642e5477ec36583eb650265c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0d5e4b0e642e5477ec36583eb650265c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c96adea-652c-4e93-b261-f92333b00973","requestID":"0d5e4b0e642e5477ec36583eb650265c"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.155115,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0d5e4b0e642e5477ec36583eb650265c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d5e4b0e642e5477ec36583eb650265c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Attempting to finish experiment","requestID":"0d5e4b0e642e5477ec36583eb650265c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.175334,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d","device":"f26a7c47-d084-4da2-833f-95cd71dbd00e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6fac50-e796-4e45-842b-f0bf58600df6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/b1deee91-51c9-47a1-b840-300c8eee504d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1deee91-51c9-47a1-b840-300c8eee504d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1deee91-51c9-47a1-b840-300c8eee504d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"9b5e5554-0de8-4701-8af4-596c47db57db","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.054524} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"85f8470085eacd542de59fc442a62e0b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08de7cbf-613b-421f-8d39-cb69761ae9f5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.0552704} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"85f8470085eacd542de59fc442a62e0b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6"},{"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/f26a7c47-d084-4da2-833f-95cd71dbd00e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"}}},"level":"info","message":"received a callback","requestID":"85f8470085eacd542de59fc442a62e0b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4887f32a0a40cf9a68c93309f6c06f42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4887f32a0a40cf9a68c93309f6c06f42","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6"},{"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/f26a7c47-d084-4da2-833f-95cd71dbd00e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"}}},"level":"info","message":"received a callback","requestID":"4887f32a0a40cf9a68c93309f6c06f42"} device-1 | {"data":{"peerconnection":"b1deee91-51c9-47a1-b840-300c8eee504d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d 204 52ms","method":"DELETE","requestID":"52edb260-e346-11ef-bee8-fdb657b9cb09","responseTime":52,"status":204,"url":"/peerconnections/b1deee91-51c9-47a1-b840-300c8eee504d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c96adea-652c-4e93-b261-f92333b00973"},"level":"info","message":"Successfully finished experiment","requestID":"0d5e4b0e642e5477ec36583eb650265c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52f92410-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6fac50-e796-4e45-842b-f0bf58600df6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18cc248e-dc97-45e5-aba5-5fd2a066e0eb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.1131892} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.337606,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52f92410-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6","object_type":"device","rebac_allow":false,"scope_allow":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":"52f92410-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c96adea-652c-4e93-b261-f92333b00973': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c96adea-652c-4e93-b261-f92333b00973","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"e96d08d1-2152-49b6-8e58-79350b739290","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.1186557} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"52f92410-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d575c05-ece2-4f14-90e7-88be4271ad0b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.1188257} device-1 | {"level":"info","message":"POST /devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling 200 14ms","method":"POST","requestID":"52f92410-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/8d6fac50-e796-4e45-842b-f0bf58600df6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"0d5e4b0e642e5477ec36583eb650265c","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52fbbc20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff26a7c47-d084-4da2-833f-95cd71dbd00e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b15f398-9a1e-4acc-9dcc-96616eff08e6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.1283848} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.797569,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"52fbbc20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e","object_type":"device","rebac_allow":false,"scope_allow":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":"52fbbc20-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"52fbbc20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling 200 13ms","method":"POST","requestID":"52fbbc20-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/f26a7c47-d084-4da2-833f-95cd71dbd00e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c96adea-652c-4e93-b261-f92333b00973","requestID":"0d5e4b0e642e5477ec36583eb650265c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c96adea-652c-4e93-b261-f92333b00973 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d5e4b0e642e5477ec36583eb650265c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.241","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d28f6e2db1924d57b97c0a6b955539ff"} experiment-1 | {"level":"info","message":"DELETE /experiments/6c96adea-652c-4e93-b261-f92333b00973 204 170ms","method":"DELETE","requestID":"0d5e4b0e642e5477ec36583eb650265c","responseTime":170,"status":204,"url":"/experiments/6c96adea-652c-4e93-b261-f92333b00973"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"85f8470085eacd542de59fc442a62e0b","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"85f8470085eacd542de59fc442a62e0b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"4887f32a0a40cf9a68c93309f6c06f42","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"4887f32a0a40cf9a68c93309f6c06f42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"02120f8954903d25a757f85311acacd0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"02120f8954903d25a757f85311acacd0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"02120f8954903d25a757f85311acacd0"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.741","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1300ea9f076a90886ddab40d528b69ed"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.080234,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"02120f8954903d25a757f85311acacd0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8d6fac50-e796-4e45-842b-f0bf58600df6' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"376e76d5-eaa1-47ef-bfdd-812b9d6136e0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2114506} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","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/f26a7c47-d084-4da2-833f-95cd71dbd00e' 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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54967e09-9828-4556-82aa-928f7921fa4b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2168496} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d1f10dc7-096a-4276-9810-d0b833186390","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2254236} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f586ceed-4e78-460e-98ea-fed9494847ad","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2255301} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"661056a0-4170-4c06-82aa-ee9677599317","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.229809} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"02120f8954903d25a757f85311acacd0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +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":"02120f8954903d25a757f85311acacd0"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"02120f8954903d25a757f85311acacd0","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"e6646db8c189e52c9c4738555ad9f14e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e6646db8c189e52c9c4738555ad9f14e"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.852608,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e6646db8c189e52c9c4738555ad9f14e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ad56a09-22a4-43aa-a5e0-b08e5e4f5ea0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.252309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bccbee8d-6424-4725-959a-bc3c891c13ae","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2566528} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"20e55817-f6d8-4e23-a7f1-9cfa01991949","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2687871} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c0dc52d-426e-479a-acf6-190819260375","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2689378} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"7a54a1af-0145-42d6-94a1-b8fd8e440ffa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.2739239} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e6646db8c189e52c9c4738555ad9f14e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +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":"e6646db8c189e52c9c4738555ad9f14e"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"e6646db8c189e52c9c4738555ad9f14e","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"ba0693f81c0cfec5473c28c661a9e7fa"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"a5324fc5043123b997c81d25d6fb7bc9"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a5324fc5043123b997c81d25d6fb7bc9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ba0693f81c0cfec5473c28c661a9e7fa"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a5324fc5043123b997c81d25d6fb7bc9"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ba0693f81c0cfec5473c28c661a9e7fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.567044,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a5324fc5043123b997c81d25d6fb7bc9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a5324fc5043123b997c81d25d6fb7bc9","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"69cf0dae-1ac0-4d9a-9b5f-7f3652ddbb95","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.7344732} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"0fdd0f95-83ff-40a4-a88c-83938f0562a2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.7350786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a5324fc5043123b997c81d25d6fb7bc9","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2bb168d-ef7e-4935-85c7-e4731dc37146","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.7387326} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"233ad511-0312-4fee-8dfe-888fbb817c97","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.7403805} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a5324fc5043123b997c81d25d6fb7bc9","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"d8082b32-f0b2-4aa2-9603-aeea3efed424","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.743205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a5324fc5043123b997c81d25d6fb7bc9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a5324fc5043123b997c81d25d6fb7bc9"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a5324fc5043123b997c81d25d6fb7bc9"} device-1 | {"level":"info","message":"PATCH /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf 200 20ms","method":"PATCH","requestID":"a5324fc5043123b997c81d25d6fb7bc9","responseTime":20,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"439335ef085ee558b86aab52a18bcb4a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"439335ef085ee558b86aab52a18bcb4a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"439335ef085ee558b86aab52a18bcb4a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"961fdcc0-38dc-4660-b510-a4f74cfb9273","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.7514908} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944802,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ba0693f81c0cfec5473c28c661a9e7fa"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"439335ef085ee558b86aab52a18bcb4a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"ba0693f81c0cfec5473c28c661a9e7fa"} device-1 | {"level":"info","message":"PATCH /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea 200 30ms","method":"PATCH","requestID":"ba0693f81c0cfec5473c28c661a9e7fa","responseTime":30,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"439335ef085ee558b86aab52a18bcb4a","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"2b113071cb59545d26c878e22fd22001"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b113071cb59545d26c878e22fd22001","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2b113071cb59545d26c878e22fd22001"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634935,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2b113071cb59545d26c878e22fd22001","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2b113071cb59545d26c878e22fd22001","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"439335ef085ee558b86aab52a18bcb4a"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/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.11","requestID":"439335ef085ee558b86aab52a18bcb4a"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/websocket 200 15ms","method":"POST","requestID":"439335ef085ee558b86aab52a18bcb4a","responseTime":15,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2b113071cb59545d26c878e22fd22001"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/websocket 200 16ms","method":"POST","requestID":"2b113071cb59545d26c878e22fd22001","responseTime":16,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/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.11","requestID":"2b113071cb59545d26c878e22fd22001"} device-1 | {"level":"info","message":"device 'http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"639b7513d418140ea6763cdc0a5ebac3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"639b7513d418140ea6763cdc0a5ebac3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"639b7513d418140ea6763cdc0a5ebac3"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941059,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"639b7513d418140ea6763cdc0a5ebac3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"639b7513d418140ea6763cdc0a5ebac3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"a2429bbe-5820-4006-a33e-cc3ada111fc0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.80605} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"639b7513d418140ea6763cdc0a5ebac3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"639b7513d418140ea6763cdc0a5ebac3"} device-1 | {"level":"info","message":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? 200 9ms","method":"GET","requestID":"639b7513d418140ea6763cdc0a5ebac3","responseTime":9,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? 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":"639b7513d418140ea6763cdc0a5ebac3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"036f7813190390c647da6bd79a9494b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"036f7813190390c647da6bd79a9494b5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"036f7813190390c647da6bd79a9494b5"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637046,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"036f7813190390c647da6bd79a9494b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"036f7813190390c647da6bd79a9494b5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"5d5e8098-effb-48c0-96f3-2b400e29ea91","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.819815} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"036f7813190390c647da6bd79a9494b5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"036f7813190390c647da6bd79a9494b5"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 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":"036f7813190390c647da6bd79a9494b5"} device-1 | {"level":"info","message":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 200 9ms","method":"GET","requestID":"036f7813190390c647da6bd79a9494b5","responseTime":9,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"63526b1dabdc70820abc49209b3e92e1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63526b1dabdc70820abc49209b3e92e1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"63526b1dabdc70820abc49209b3e92e1"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.793791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"63526b1dabdc70820abc49209b3e92e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63526b1dabdc70820abc49209b3e92e1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to run experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to book experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully booked experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637506,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704323,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"6db1592f-d209-4c84-9a18-b0b106f11ac8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.8739743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"3d2ef5ad-81db-4f90-97ee-8d929568b419","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.874969} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? 200 15ms","method":"GET","requestID":"536d42a0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 200 14ms","method":"GET","requestID":"536d90c0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Setting up experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully set up experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53781810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53786630-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully running experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58272","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.009016,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782746,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"53781810-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53781810-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"143b1074-7d63-44b2-993a-d88d3d17e00f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9466417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53781810-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"f25ecf1b-05b7-48c3-949f-dfc9feada496","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9475236} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bf0e06f-1faa-4b4a-b95a-8b0497d85e46","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9482446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.731438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"53786630-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","rebac_allow":false,"scope_allow":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":"53786630-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ba36e14-e728-4af5-9d59-0a7e4990541b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ba36e14-e728-4af5-9d59-0a7e4990541b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"26bed734-26f9-42c4-b8c6-f0a58438c201","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9521098} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ea1b299-8e60-41cc-8ae3-dd9315bf6780","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9524486} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53781810-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? 200 16ms","method":"GET","requestID":"53781810-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"63526b1dabdc70820abc49209b3e92e1","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 200 16ms","method":"GET","requestID":"53783f20-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53786630-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling 200 16ms","method":"POST","requestID":"53786630-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"537b2550-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"537b7370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"63526b1dabdc70820abc49209b3e92e1","responseTime":134,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f234075a-57e6-4a81-a66d-5a551904ac50","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9623904} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63526b1dabdc70820abc49209b3e92e1"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.930871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"537b2550-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"537b2550-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9652f2e-ceef-423f-bac0-4665c25ceac8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.963509} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"537b7370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"226815f8c866293b697945c93f7e5daf"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"537b7370-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"226815f8c866293b697945c93f7e5daf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"226815f8c866293b697945c93f7e5daf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"537b2550-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling 200 15ms","method":"POST","requestID":"537b2550-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"537b7370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73696,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling 200 15ms","method":"POST","requestID":"537b7370-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"226815f8c866293b697945c93f7e5daf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"537de470-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"226815f8c866293b697945c93f7e5daf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.225399260Z"}]},"request_id":"30cca108-796e-4e1f-a8c7-0e22c1a978e4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.979285} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edce0bda-4578-4c7d-89c5-e7199e442982","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.9794633} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"226815f8c866293b697945c93f7e5daf","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470836,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"537de470-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"537de470-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"226815f8c866293b697945c93f7e5daf"} device-1 | {"level":"info","message":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? 200 14ms","method":"GET","requestID":"226815f8c866293b697945c93f7e5daf","responseTime":14,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"226815f8c866293b697945c93f7e5daf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"537de470-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling 200 10ms","method":"POST","requestID":"537de470-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Building connection plan","requestID":"63526b1dabdc70820abc49209b3e92e1"} 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":"0c51dea2-b183-490a-9759-3e89bcc8c10a"},{"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":"5248241f-bc4b-41d8-a698-69233b9a2663"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c0637028-cdf0-4540-ba0d-b46bbe500d92"}]},"level":"info","message":"Built pairwise service configurations","requestID":"63526b1dabdc70820abc49209b3e92e1"} 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/927f67a8-f1b5-4d89-81d2-744f0cd365ea"},{"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/494d5859-bee5-43bd-836c-408ffa3f5dbf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"63526b1dabdc70820abc49209b3e92e1"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0","level":"info","message":"auth send jwt","requestID":"827d98bc0a29e0c0a224c44790929aa1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"827d98bc0a29e0c0a224c44790929aa1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"827d98bc0a29e0c0a224c44790929aa1"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.651989,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352369,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"827d98bc0a29e0c0a224c44790929aa1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707665,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2NX0._ILcPkPneYViu2ngLUExmQgRzdF5FcLRjbc_tH-DaS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"827d98bc0a29e0c0a224c44790929aa1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:05.268739830Z"}]},"request_id":"c4f2f7bb-0cc6-4bb1-a543-e29247b748a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707665.995761} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"827d98bc0a29e0c0a224c44790929aa1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"827d98bc0a29e0c0a224c44790929aa1"} gateway-1 | {"time_local":"04/Feb/2025:22:21:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 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":"827d98bc0a29e0c0a224c44790929aa1"} device-1 | {"level":"info","message":"GET /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf? 200 10ms","method":"GET","requestID":"827d98bc0a29e0c0a224c44790929aa1","responseTime":10,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"dcdacbf5-2919-4d9b-9677-f64275475a90","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707666.000511} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6191019e-cef9-4b9f-aad2-6c7b4d6c9423","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707666.0008757} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e'","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e'","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 23ms","method":"POST","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"537fe040-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"63526b1dabdc70820abc49209b3e92e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53870c30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:06Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97eaf7cc-3d48-433f-9c83-51242069ed64","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707666.0395367} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.708118,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"53870c30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53870c30-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53870c30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling 200 8ms","method":"POST","requestID":"53870c30-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"538892d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:06Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b934828-6e87-488a-b74d-0efabafb9d88","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707666.0495493} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.285746,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"538892d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"538892d0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"538892d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling 200 8ms","method":"POST","requestID":"538892d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling"} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/faf077c7-e24c-4c3a-8506-47821364aa7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7c5e20ead6e2facf2cd083ff6d8f3d3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f7c5e20ead6e2facf2cd083ff6d8f3d3","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/927f67a8-f1b5-4d89-81d2-744f0cd365ea"},{"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/494d5859-bee5-43bd-836c-408ffa3f5dbf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"}}},"level":"info","message":"received a callback","requestID":"f7c5e20ead6e2facf2cd083ff6d8f3d3"} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"f7c5e20ead6e2facf2cd083ff6d8f3d3","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7c5e20ead6e2facf2cd083ff6d8f3d3"} device-1 | {"data":{"peerconnection":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"faf077c7-e24c-4c3a-8506-47821364aa7e","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/faf077c7-e24c-4c3a-8506-47821364aa7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b808a0f78ed60fc8fb4436e4860c3d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9b808a0f78ed60fc8fb4436e4860c3d0","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":"connected","url":"http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea"},{"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/494d5859-bee5-43bd-836c-408ffa3f5dbf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"}}},"level":"info","message":"received a callback","requestID":"9b808a0f78ed60fc8fb4436e4860c3d0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"54c6df30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffaf077c7-e24c-4c3a-8506-47821364aa7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4127ab2c-c4ae-4df7-89ad-48457e607cdc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.137059} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.201378,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54c6df30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e","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":"54c6df30-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"54c6df30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e 200 12ms","method":"GET","requestID":"54c6df30-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"9b808a0f78ed60fc8fb4436e4860c3d0","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b808a0f78ed60fc8fb4436e4860c3d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54cc3660-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65f5717a-dace-421a-9d15-d82f6a4cb875","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.1724148} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.930555,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54cc3660-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","rebac_allow":false,"scope_allow":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":"54cc3660-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54cc3660-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling 200 13ms","method":"POST","requestID":"54cc3660-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54cece70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b177f63d-e9b7-4f09-9d91-17d1328ca248","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.1898215} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.993728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54cece70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","rebac_allow":false,"scope_allow":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":"54cece70-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54cece70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling 200 13ms","method":"POST","requestID":"54cece70-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"d7e26a360ec2269a219189e052d2fa61"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7e26a360ec2269a219189e052d2fa61","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","requestID":"d7e26a360ec2269a219189e052d2fa61"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.4383,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d7e26a360ec2269a219189e052d2fa61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7e26a360ec2269a219189e052d2fa61","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","requestID":"d7e26a360ec2269a219189e052d2fa61"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7e26a360ec2269a219189e052d2fa61"} experiment-1 | {"level":"info","message":"GET /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b 200 15ms","method":"GET","requestID":"d7e26a360ec2269a219189e052d2fa61","responseTime":15,"status":200,"url":"/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba860fd9e4ca7404c2f9c66e2916b820","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.319662,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ba860fd9e4ca7404c2f9c66e2916b820","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba860fd9e4ca7404c2f9c66e2916b820","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Attempting to finish experiment","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.148396,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927f67a8-f1b5-4d89-81d2-744f0cd365ea","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"494d5859-bee5-43bd-836c-408ffa3f5dbf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/faf077c7-e24c-4c3a-8506-47821364aa7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"faf077c7-e24c-4c3a-8506-47821364aa7e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffaf077c7-e24c-4c3a-8506-47821364aa7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffaf077c7-e24c-4c3a-8506-47821364aa7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"fe970bfe-6bcd-4fa1-990b-8aade0060554","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.2788606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"577c34af-84f9-41ad-9fbc-e35fffbc0be0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.2794337} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c0baab5709aac2571891b7ba35da5d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 12ms","method":"POST","requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c0baab5709aac2571891b7ba35da5d0","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":"closed","url":"http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea"},{"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/494d5859-bee5-43bd-836c-408ffa3f5dbf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"}}},"level":"info","message":"received a callback","requestID":"7c0baab5709aac2571891b7ba35da5d0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"569b694231f6de6728b1e3e3a0149fe9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"569b694231f6de6728b1e3e3a0149fe9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea"},{"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/494d5859-bee5-43bd-836c-408ffa3f5dbf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"}}},"level":"info","message":"received a callback","requestID":"569b694231f6de6728b1e3e3a0149fe9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e 204 48ms","method":"DELETE","requestID":"54d9a3e0-e346-11ef-bee8-fdb657b9cb09","responseTime":48,"status":204,"url":"/peerconnections/faf077c7-e24c-4c3a-8506-47821364aa7e"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"},"level":"info","message":"Successfully finished experiment","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54e47950-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927f67a8-f1b5-4d89-81d2-744f0cd365ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"033f7f1c-3073-45e6-b74d-5e3b21e32d44","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.3317115} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.234919,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54e47950-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea","object_type":"device","rebac_allow":false,"scope_allow":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":"54e47950-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ba36e14-e728-4af5-9d59-0a7e4990541b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6ba36e14-e728-4af5-9d59-0a7e4990541b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"0c482d6f-9509-4b8e-90b6-4473f1ace876","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.3380215} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54e47950-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling 200 14ms","method":"POST","requestID":"54e47950-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/927f67a8-f1b5-4d89-81d2-744f0cd365ea/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b221c430-a95c-4cbb-885b-e85fa0ad1abe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.3385637} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"ba860fd9e4ca7404c2f9c66e2916b820","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54e71160-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F494d5859-bee5-43bd-836c-408ffa3f5dbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ed3b782-2121-455b-91f2-ddddf6681ed1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.3475907} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.673066,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"54e71160-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"54e71160-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54e71160-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling 200 11ms","method":"POST","requestID":"54e71160-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba860fd9e4ca7404c2f9c66e2916b820"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.621","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"322dfbadb5c5a77fcfc0ab495b065c93"} experiment-1 | {"level":"info","message":"DELETE /experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b 204 158ms","method":"DELETE","requestID":"ba860fd9e4ca7404c2f9c66e2916b820","responseTime":158,"status":204,"url":"/experiments/6ba36e14-e728-4af5-9d59-0a7e4990541b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.631","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f1e7ffb5095cca42f56b588b775f4c52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"7c0baab5709aac2571891b7ba35da5d0","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c0baab5709aac2571891b7ba35da5d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"569b694231f6de6728b1e3e3a0149fe9","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"569b694231f6de6728b1e3e3a0149fe9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"e0060e364a9ee3cf14db685558a55387"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e0060e364a9ee3cf14db685558a55387","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0060e364a9ee3cf14db685558a55387"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/494d5859-bee5-43bd-836c-408ffa3f5dbf' closed"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879904,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e0060e364a9ee3cf14db685558a55387","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","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/927f67a8-f1b5-4d89-81d2-744f0cd365ea' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"48bc6dc5-fbfd-4d0a-bac1-bb45fca9dbd3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4257371} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b42be26c-0c28-441f-8070-c1e545cca6f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4306698} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"4cff0ea9-d3c3-4e0e-9b90-6812e8f5d0b3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4409928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5682c02-1fd6-452c-b80d-8a7521a2b9a1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4411514} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"a5a386de-0949-479c-860f-8e52dcee1ef5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4458323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0060e364a9ee3cf14db685558a55387"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0060e364a9ee3cf14db685558a55387"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"e0060e364a9ee3cf14db685558a55387","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"a15cff3c0f997a4688b2a32ee3faa67f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a15cff3c0f997a4688b2a32ee3faa67f"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.781317,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a15cff3c0f997a4688b2a32ee3faa67f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f9d0149-0bcd-4ff0-9c5a-0ec74099b810","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.469174} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d1c5517-3308-4898-9011-46ec5650d88b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4741535} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"bfd8ed1b-2897-45da-8b88-4a8b436fa811","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4861336} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29c84744-a76f-4b1d-829a-81306b6cc2fc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4863167} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"d6942075-56d3-4926-9ae6-3503aa4a075e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.4903824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a15cff3c0f997a4688b2a32ee3faa67f"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a15cff3c0f997a4688b2a32ee3faa67f"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"a15cff3c0f997a4688b2a32ee3faa67f","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"1f93c932b5db974beb290e4353447f1e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f93c932b5db974beb290e4353447f1e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743694,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1f93c932b5db974beb290e4353447f1e"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711601,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1f93c932b5db974beb290e4353447f1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1f93c932b5db974beb290e4353447f1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"a43455ba-7229-4722-942e-3e5dc18ee1e8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9477637} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"cf710994-ccb5-4b56-bb25-24f8fd1b3b2c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9499598} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1f93c932b5db974beb290e4353447f1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1e6f446-024f-40fd-990c-c897a639e38d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9514577} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c5c40a4-0ca1-4f95-8a06-00d2321b2f27","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9550343} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1f93c932b5db974beb290e4353447f1e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"f1375b98-d10f-466c-a655-8d019dcd02b6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9613764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5"} device-1 | {"level":"info","message":"PATCH /devices/12e8f8ad-b831-4204-b74f-b0088b19586d 200 24ms","method":"PATCH","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5","responseTime":24,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/12e8f8ad-b831-4204-b74f-b0088b19586d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a90bda7b25e3442a5c93f1b8218a6ac5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"7ef24404aaf5dfaa000cfa09155cb26b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ef24404aaf5dfaa000cfa09155cb26b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7ef24404aaf5dfaa000cfa09155cb26b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"26da5451-6283-4ed3-a38d-f8de784038e6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707668.9697466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1f93c932b5db974beb290e4353447f1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696394,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1f93c932b5db974beb290e4353447f1e"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7ef24404aaf5dfaa000cfa09155cb26b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"1f93c932b5db974beb290e4353447f1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ef24404aaf5dfaa000cfa09155cb26b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"PATCH /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0 200 30ms","method":"PATCH","requestID":"1f93c932b5db974beb290e4353447f1e","responseTime":30,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0","level":"info","message":"auth send jwt","requestID":"b80a19bdc133aefe5c8d24c1703019cb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b80a19bdc133aefe5c8d24c1703019cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b80a19bdc133aefe5c8d24c1703019cb"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b80a19bdc133aefe5c8d24c1703019cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707668,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OH0.Lf24MXroiGkMO_DsFXmxfziTCMZMlZQzGGD3KCW0oY0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b80a19bdc133aefe5c8d24c1703019cb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7ef24404aaf5dfaa000cfa09155cb26b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/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.11","requestID":"7ef24404aaf5dfaa000cfa09155cb26b"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/websocket 200 15ms","method":"POST","requestID":"7ef24404aaf5dfaa000cfa09155cb26b","responseTime":15,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b80a19bdc133aefe5c8d24c1703019cb"} gateway-1 | {"time_local":"04/Feb/2025:22:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/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.11","requestID":"b80a19bdc133aefe5c8d24c1703019cb"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/websocket 200 19ms","method":"POST","requestID":"b80a19bdc133aefe5c8d24c1703019cb","responseTime":19,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE","level":"info","message":"auth send jwt","requestID":"0402141ed91da73e5ce9e9531d24933a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0402141ed91da73e5ce9e9531d24933a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0402141ed91da73e5ce9e9531d24933a"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.991861,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0402141ed91da73e5ce9e9531d24933a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0402141ed91da73e5ce9e9531d24933a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"49ef1a6b-8a8e-44c0-9f51-49ea6866d078","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.0230834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0402141ed91da73e5ce9e9531d24933a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0402141ed91da73e5ce9e9531d24933a"} gateway-1 | {"time_local":"04/Feb/2025:22:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 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":"0402141ed91da73e5ce9e9531d24933a"} device-1 | {"level":"info","message":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 200 10ms","method":"GET","requestID":"0402141ed91da73e5ce9e9531d24933a","responseTime":10,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE","level":"info","message":"auth send jwt","requestID":"aea718b2d6d5b6f24696224b5fe2bad8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aea718b2d6d5b6f24696224b5fe2bad8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aea718b2d6d5b6f24696224b5fe2bad8"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683602,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"aea718b2d6d5b6f24696224b5fe2bad8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aea718b2d6d5b6f24696224b5fe2bad8","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"a0c0a871-1355-429e-9db6-ed55d4e48017","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.041222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aea718b2d6d5b6f24696224b5fe2bad8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aea718b2d6d5b6f24696224b5fe2bad8"} device-1 | {"level":"info","message":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 200 12ms","method":"GET","requestID":"aea718b2d6d5b6f24696224b5fe2bad8","responseTime":12,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 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":"aea718b2d6d5b6f24696224b5fe2bad8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE","level":"info","message":"auth send jwt","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.728431,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to run experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to book experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully booked experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897404,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650578,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"e5143e5f-29ec-4dbf-bc1c-cbefbc9cf80f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.0861132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"105ede93-084d-4b8a-bdc3-e4295a340579","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.0868204} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 200 14ms","method":"GET","requestID":"55575f60-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 200 13ms","method":"GET","requestID":"5557ad80-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Setting up experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully set up experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"55617180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5561e6b0-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully running experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913589,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"55617180-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"55617180-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657301,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d63903f-4a04-4dbe-adaa-b8f748983856","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.153478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"19f0229b-e149-45e4-bbf9-efa105fb7bd6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1547582} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.339428,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5561e6b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5561e6b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"65b6fd92-d27e-466f-87d3-f7de5dd6278a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.155597} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"55617180-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f6b9104-9de3-4b81-b7e8-fb8a4871eaab#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"a256a8cb-20e1-4b7f-abf9-21d1537c9e5e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1601143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0497f8ed-1ba4-4170-b5a2-a2bcb0174a2e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1602795} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5561e6b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling 200 14ms","method":"POST","requestID":"5561e6b0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 200 16ms","method":"GET","requestID":"5561bfa0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"55617180-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 200 19ms","method":"GET","requestID":"55617180-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"556457b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98633a3c-e982-4854-b93a-acedd1193de3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1676123} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"55651b00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44252,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"556457b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"556457b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 121ms","method":"POST","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d","responseTime":121,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"556457b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling 200 9ms","method":"POST","requestID":"556457b0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19afbb54-1f20-4eef-b401-ba227c3da8e5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1736574} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.044521,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"55651b00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE","level":"info","message":"auth send jwt","requestID":"1e7d91b198774eee185bc39f946c6bca"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"55651b00-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e7d91b198774eee185bc39f946c6bca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1e7d91b198774eee185bc39f946c6bca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"55651b00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling 200 11ms","method":"POST","requestID":"55651b00-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75504,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1e7d91b198774eee185bc39f946c6bca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1e7d91b198774eee185bc39f946c6bca","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"556716d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.440964708Z"}]},"request_id":"3e8d792d-62b9-4ca0-b3d4-ea6f6c71ba1b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.18493} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c26ec2c-68bf-47b3-be17-f990c1321a45","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1851032} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1e7d91b198774eee185bc39f946c6bca","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.19122,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"556716d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"556716d0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1e7d91b198774eee185bc39f946c6bca"} gateway-1 | {"time_local":"04/Feb/2025:22:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 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":"1e7d91b198774eee185bc39f946c6bca"} device-1 | {"level":"info","message":"GET /devices/12e8f8ad-b831-4204-b74f-b0088b19586d? 200 12ms","method":"GET","requestID":"1e7d91b198774eee185bc39f946c6bca","responseTime":12,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"556716d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling 200 8ms","method":"POST","requestID":"556716d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Building connection plan","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} 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":"a5cd382d-b340-40b5-8600-0e29cc1d6680"},{"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":"861549e5-8a30-491c-b0cd-733f620d267d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2d34180d-94d8-495f-94df-7cb066f640b9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} 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/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"},{"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/12e8f8ad-b831-4204-b74f-b0088b19586d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE","level":"info","message":"auth send jwt","requestID":"5e26d57a2fc775a919d88f316c665c44"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e26d57a2fc775a919d88f316c665c44","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e26d57a2fc775a919d88f316c665c44"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.597263,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.513738,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e26d57a2fc775a919d88f316c665c44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707669,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY2OX0.XDTKsg44VRFJvRTWbrwpbVYmmqTltOVTQ68xtm8l_DE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e26d57a2fc775a919d88f316c665c44","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:08.486104277Z"}]},"request_id":"c28ba5d7-4d67-45aa-8fc1-52387c389a34","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.1995656} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5e26d57a2fc775a919d88f316c665c44","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e26d57a2fc775a919d88f316c665c44"} gateway-1 | {"time_local":"04/Feb/2025:22:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 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":"5e26d57a2fc775a919d88f316c665c44"} device-1 | {"level":"info","message":"GET /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0? 200 9ms","method":"GET","requestID":"5e26d57a2fc775a919d88f316c665c44","responseTime":9,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"e74cd500-d6ba-48d2-98f2-14dc7d2ada56","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.2032237} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ac933fa-844b-45e0-b6c2-ce62b0469c7e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.2035136} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f'","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f'","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 23ms","method":"POST","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5568c480-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5ae0ecad0fe4f2e586d0876a31e2a76d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"55703e90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2c9350c-659a-4d9a-83c6-4a29a06373a6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.2451} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.659888,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"55703e90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"55703e90-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"55703e90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling 200 8ms","method":"POST","requestID":"55703e90-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5571c530-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41312482-9042-41a7-b37f-486ff436c863","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707669.2557333} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.060749,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5571c530-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5571c530-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5571c530-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling 200 8ms","method":"POST","requestID":"5571c530-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling"} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/9cf39887-e6f1-4407-af87-b44e5dfe734f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a192f44937612544d5a058e91a3772f1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a192f44937612544d5a058e91a3772f1","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/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"},{"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/12e8f8ad-b831-4204-b74f-b0088b19586d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"}}},"level":"info","message":"received a callback","requestID":"a192f44937612544d5a058e91a3772f1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a192f44937612544d5a058e91a3772f1","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"a192f44937612544d5a058e91a3772f1"} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9cf39887-e6f1-4407-af87-b44e5dfe734f","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/9cf39887-e6f1-4407-af87-b44e5dfe734f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9d5060e78323768bab36b781e2f84212","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9d5060e78323768bab36b781e2f84212","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/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"},{"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/12e8f8ad-b831-4204-b74f-b0088b19586d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"}}},"level":"info","message":"received a callback","requestID":"9d5060e78323768bab36b781e2f84212"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"56afc370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cf39887-e6f1-4407-af87-b44e5dfe734f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaa95781-d23e-41b6-a254-d594a24966fd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.3414857} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.564205,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56afc370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"56afc370-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"56afc370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f 200 12ms","method":"GET","requestID":"56afc370-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"9d5060e78323768bab36b781e2f84212","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"9d5060e78323768bab36b781e2f84212"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56b4f390-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3ebe587-1840-4a29-8e3f-970b08868307","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.3757675} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.931462,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56b4f390-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","rebac_allow":false,"scope_allow":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":"56b4f390-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56b4f390-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling 200 14ms","method":"POST","requestID":"56b4f390-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56b7b2b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f42ebaf0-872c-4f81-8850-3b5f569639b4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.393209} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.618225,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56b7b2b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","rebac_allow":false,"scope_allow":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":"56b7b2b0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56b7b2b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling 200 13ms","method":"POST","requestID":"56b7b2b0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo","level":"info","message":"auth send jwt","requestID":"056add039abfe82d7f56d8183d39a80e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"056add039abfe82d7f56d8183d39a80e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","requestID":"056add039abfe82d7f56d8183d39a80e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.124859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"056add039abfe82d7f56d8183d39a80e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707671,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"056add039abfe82d7f56d8183d39a80e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","requestID":"056add039abfe82d7f56d8183d39a80e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"056add039abfe82d7f56d8183d39a80e"} experiment-1 | {"level":"info","message":"GET /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab 200 16ms","method":"GET","requestID":"056add039abfe82d7f56d8183d39a80e","responseTime":16,"status":200,"url":"/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo","level":"info","message":"auth send jwt","requestID":"023582ff530071fdcbbd30365a19d636"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"023582ff530071fdcbbd30365a19d636","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","requestID":"023582ff530071fdcbbd30365a19d636"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.512357,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"023582ff530071fdcbbd30365a19d636","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707671,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"023582ff530071fdcbbd30365a19d636","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Attempting to finish experiment","requestID":"023582ff530071fdcbbd30365a19d636"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.210677,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707671,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"12e8f8ad-b831-4204-b74f-b0088b19586d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/9cf39887-e6f1-4407-af87-b44e5dfe734f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cf39887-e6f1-4407-af87-b44e5dfe734f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cf39887-e6f1-4407-af87-b44e5dfe734f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cf39887-e6f1-4407-af87-b44e5dfe734f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"c1cb2d0a-1d20-44a3-88b8-e23182fe04c1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.4870892} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3703441-cc6d-42e8-ac0c-54d2cdcb7fc4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.4875658} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"81a8f453191fb70cc3546ce080a5e95f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81a8f453191fb70cc3546ce080a5e95f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f6a5527c3e8e011800374989634c770e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"},{"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/12e8f8ad-b831-4204-b74f-b0088b19586d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"}}},"level":"info","message":"received a callback","requestID":"81a8f453191fb70cc3546ce080a5e95f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f6a5527c3e8e011800374989634c770e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0"},{"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/12e8f8ad-b831-4204-b74f-b0088b19586d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"}}},"level":"info","message":"received a callback","requestID":"f6a5527c3e8e011800374989634c770e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f 204 45ms","method":"DELETE","requestID":"56c34b70-e346-11ef-bee8-fdb657b9cb09","responseTime":45,"status":204,"url":"/peerconnections/9cf39887-e6f1-4407-af87-b44e5dfe734f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"},"level":"info","message":"Successfully finished experiment","requestID":"023582ff530071fdcbbd30365a19d636"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56cdabb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fbd6260-f266-4b9f-8c14-7a3f6707517e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.537988} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.562345,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56cdabb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0","object_type":"device","rebac_allow":false,"scope_allow":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":"56cdabb0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56cdabb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling 200 16ms","method":"POST","requestID":"56cdabb0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"56d043c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f6b9104-9de3-4b81-b7e8-fb8a4871eaab': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"24526f29-199c-4372-a895-ccb79f4b6441","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.5487304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f71cc4bd-2f74-403f-abd8-83f59df2ef78","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.5497034} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"023582ff530071fdcbbd30365a19d636","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12e8f8ad-b831-4204-b74f-b0088b19586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35439083-fd14-49a9-9ec5-80049f9320ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.5554767} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.624718,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"56d043c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12e8f8ad-b831-4204-b74f-b0088b19586d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"56d043c0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"56d043c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling 200 20ms","method":"POST","requestID":"56d043c0-e346-11ef-bee8-fdb657b9cb09","responseTime":20,"status":200,"url":"/devices/12e8f8ad-b831-4204-b74f-b0088b19586d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab","requestID":"023582ff530071fdcbbd30365a19d636"} gateway-1 | {"time_local":"04/Feb/2025:22:21:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"023582ff530071fdcbbd30365a19d636"} gateway-1 | {"time_local":"04/Feb/2025:22:21:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.618","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"85bce348b93a8208a4a83256834d65d5"} experiment-1 | {"level":"info","message":"DELETE /experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab 204 167ms","method":"DELETE","requestID":"023582ff530071fdcbbd30365a19d636","responseTime":167,"status":204,"url":"/experiments/1f6b9104-9de3-4b81-b7e8-fb8a4871eaab"} gateway-1 | {"time_local":"04/Feb/2025:22:21:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.630","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a5dcc04aa55dc445231c0fca3813a582"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"81a8f453191fb70cc3546ce080a5e95f","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"81a8f453191fb70cc3546ce080a5e95f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"f6a5527c3e8e011800374989634c770e","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6a5527c3e8e011800374989634c770e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo","level":"info","message":"auth send jwt","requestID":"90cda311cf789eba65bbaf5851dbca43"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90cda311cf789eba65bbaf5851dbca43","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/12e8f8ad-b831-4204-b74f-b0088b19586d' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"90cda311cf789eba65bbaf5851dbca43"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.036843,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"90cda311cf789eba65bbaf5851dbca43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707671,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","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/6a4ad6cf-f5ce-43f1-a8df-49d8ad5e54d0' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ce85239-db20-404e-966e-adc599c2da2c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.6444867} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f5cd079-7c60-43ec-a16d-bc76cd4d3bbe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.6517634} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"6fa16125-e19c-4674-85ce-f09ca3a9b202","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.6646013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e7fb023-5ac3-4421-8bf9-d35cf2f66fb3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.664961} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.664578347Z"}]},"request_id":"5e74468c-c04a-46f9-9b26-73a855875570","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.670044} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"90cda311cf789eba65bbaf5851dbca43"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90cda311cf789eba65bbaf5851dbca43"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"90cda311cf789eba65bbaf5851dbca43","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo","level":"info","message":"auth send jwt","requestID":"8e992dae107cd89b26724c28d9af50e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e992dae107cd89b26724c28d9af50e2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8e992dae107cd89b26724c28d9af50e2"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.823498,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8e992dae107cd89b26724c28d9af50e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707671,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3MX0.P9i4xfUU3vnFZ_Oz1UXWfsUiR9zoqfuvQSvyWt0uqYo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ffe0c9c-d058-4607-ac34-2352f384529c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.6935403} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fe20563-bf86-4a72-91a5-77e53553e029","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.6983142} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1bb4755f-061f-470a-a8fe-4c4746e4cf33","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.7078328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f649e526-9988-4f9b-b2cb-4d2cc1ba2a1d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.7080162} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.707808195Z"}]},"request_id":"2a28feaf-f54c-41f6-adfc-3b71edd880ee","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707671.7126515} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8e992dae107cd89b26724c28d9af50e2"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e992dae107cd89b26724c28d9af50e2"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"8e992dae107cd89b26724c28d9af50e2","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e83318bfa37069df805d52063a449317","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e83318bfa37069df805d52063a449317","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/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":"e83318bfa37069df805d52063a449317"} device-1 | {"level":"info","message":"OPTIONS /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/websocket 200 1ms","method":"OPTIONS","requestID":"e83318bfa37069df805d52063a449317","responseTime":1,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"c9215107b024e6eacf2b9a7fc33cf466"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9215107b024e6eacf2b9a7fc33cf466","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c9215107b024e6eacf2b9a7fc33cf466"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649619,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c9215107b024e6eacf2b9a7fc33cf466","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9215107b024e6eacf2b9a7fc33cf466","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0c951652d2cd20ba26d2a6ee993c6d41","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0c951652d2cd20ba26d2a6ee993c6d41","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d2657b26-97d4-4136-bcd0-e290c2751539/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":"0c951652d2cd20ba26d2a6ee993c6d41"} device-1 | {"level":"info","message":"OPTIONS /devices/d2657b26-97d4-4136-bcd0-e290c2751539/websocket 200 1ms","method":"OPTIONS","requestID":"0c951652d2cd20ba26d2a6ee993c6d41","responseTime":1,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"398c6fad998bd58a0f80614f705b7302"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"398c6fad998bd58a0f80614f705b7302","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c9215107b024e6eacf2b9a7fc33cf466"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/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":"c9215107b024e6eacf2b9a7fc33cf466"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/websocket 200 21ms","method":"POST","requestID":"c9215107b024e6eacf2b9a7fc33cf466","responseTime":21,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"398c6fad998bd58a0f80614f705b7302"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206685,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"398c6fad998bd58a0f80614f705b7302","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"398c6fad998bd58a0f80614f705b7302","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"398c6fad998bd58a0f80614f705b7302"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/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":"398c6fad998bd58a0f80614f705b7302"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/websocket 200 21ms","method":"POST","requestID":"398c6fad998bd58a0f80614f705b7302","responseTime":21,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"89f2af09d345a35aa5539d171fcbf1c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89f2af09d345a35aa5539d171fcbf1c9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89f2af09d345a35aa5539d171fcbf1c9"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.258769,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"89f2af09d345a35aa5539d171fcbf1c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89f2af09d345a35aa5539d171fcbf1c9","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.664578347Z"}]},"request_id":"ae80f995-82d5-4787-811f-fe0f89e153c2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.7730055} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89f2af09d345a35aa5539d171fcbf1c9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89f2af09d345a35aa5539d171fcbf1c9"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? 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":"89f2af09d345a35aa5539d171fcbf1c9"} device-1 | {"level":"info","message":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? 200 16ms","method":"GET","requestID":"89f2af09d345a35aa5539d171fcbf1c9","responseTime":16,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"2a878b9f423dc6d483379c296eaead1d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a878b9f423dc6d483379c296eaead1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2a878b9f423dc6d483379c296eaead1d"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108259,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2a878b9f423dc6d483379c296eaead1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2a878b9f423dc6d483379c296eaead1d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.707808195Z"}]},"request_id":"dee5aadf-8f30-4da9-8849-417f8741e7c8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.7965271} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2a878b9f423dc6d483379c296eaead1d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2a878b9f423dc6d483379c296eaead1d"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 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":"2a878b9f423dc6d483379c296eaead1d"} device-1 | {"level":"info","message":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 200 14ms","method":"GET","requestID":"2a878b9f423dc6d483379c296eaead1d","responseTime":14,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"c623e4769a1d260c093755b29bd87d6a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c623e4769a1d260c093755b29bd87d6a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c623e4769a1d260c093755b29bd87d6a"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.91351,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c623e4769a1d260c093755b29bd87d6a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c623e4769a1d260c093755b29bd87d6a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to run experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to book experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully booked experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178908,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.763258,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.664578347Z"}]},"request_id":"67fa7a3b-2308-4147-a3a9-04e818a8b1c0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.8581715} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.707808195Z"}]},"request_id":"a7480149-ba8d-4a0b-a941-ef27c66e3cf7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.8598871} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? 200 17ms","method":"GET","requestID":"582f1070-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 200 16ms","method":"GET","requestID":"582f5e90-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Setting up experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully set up experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"583a5b10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"583aa930-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully running experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} authorization-1 | {"client_addr":"127.0.0.1:58282","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343603,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.304384,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"583a5b10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"583a5b10-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.707808195Z"}]},"request_id":"4df7b4ad-8b5f-461b-8230-e6cdea019ed3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9371605} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"583a5b10-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.664578347Z"}]},"request_id":"5210be55-432a-4c99-b0c6-4affd1f77927","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9389775} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d332fae-ff85-423d-8f24-e86b1e1d8cfa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.942819} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.36057,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"583aa930-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","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":"583a5b10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /authorize 200 20ms","method":"POST","requestID":"583aa930-e346-11ef-bee8-fdb657b9cb09","responseTime":20,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fad52eca4-af85-4d13-b6fc-dc96f4daac77#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fad52eca4-af85-4d13-b6fc-dc96f4daac77","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d6c38710-83f3-47a0-b286-c88e04a8a9fc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9454067} device-1 | {"level":"info","message":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 200 26ms","method":"GET","requestID":"583a5b10-e346-11ef-bee8-fdb657b9cb09","responseTime":26,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aba5f5d3-4a48-4362-b5e8-9543ef12f620","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9461532} device-1 | {"level":"info","message":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? 200 30ms","method":"GET","requestID":"583a0cf0-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"c623e4769a1d260c093755b29bd87d6a","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"583f1600-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"583aa930-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling 200 33ms","method":"POST","requestID":"583aa930-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f20abe0c-fe60-444b-9cb0-b1ea58ca58cd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9595845} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.730582,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"583f1600-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","rebac_allow":false,"scope_allow":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":"583f1600-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c623e4769a1d260c093755b29bd87d6a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"584111d0-e346-11ef-bee8-fdb657b9cb09"} gateway-1 | {"time_local":"04/Feb/2025:22: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.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"c623e4769a1d260c093755b29bd87d6a","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"583f1600-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling 200 18ms","method":"POST","requestID":"583f1600-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"975cecf3a43248c27205c0d4e2def0d5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"975cecf3a43248c27205c0d4e2def0d5","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"792f7b29-ed68-4420-977c-7ec0ed08bca9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.972165} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.124397,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58424a50-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"584111d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","rebac_allow":false,"scope_allow":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":"584111d0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"975cecf3a43248c27205c0d4e2def0d5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"584111d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"377ba97b-2b0e-4e65-8c30-85854c823f65","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9790545} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling 200 15ms","method":"POST","requestID":"584111d0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.381006,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58424a50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"58424a50-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246506,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"975cecf3a43248c27205c0d4e2def0d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"975cecf3a43248c27205c0d4e2def0d5","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58424a50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling 200 13ms","method":"POST","requestID":"58424a50-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.664578347Z"}]},"request_id":"090f22bb-940e-42fe-8197-6d8bc073cd77","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707673.9869077} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Building connection plan","requestID":"c623e4769a1d260c093755b29bd87d6a"} 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":"c38acbdd-deaf-4002-80f8-2c25d945a82f"},{"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":"7786e5f7-9ee3-45f9-8986-4c0da250eed0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7b30481d-cc88-4464-bcee-62ad4faedfee"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c623e4769a1d260c093755b29bd87d6a"} 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/d2657b26-97d4-4136-bcd0-e290c2751539"},{"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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c623e4769a1d260c093755b29bd87d6a"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"975cecf3a43248c27205c0d4e2def0d5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"975cecf3a43248c27205c0d4e2def0d5"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:13Z"} device-1 | {"level":"info","message":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? 200 17ms","method":"GET","requestID":"975cecf3a43248c27205c0d4e2def0d5","responseTime":17,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"975cecf3a43248c27205c0d4e2def0d5"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.918315,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc","level":"info","message":"auth send jwt","requestID":"b9928768ec6f1dc14b4cad13a2ec3798"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9928768ec6f1dc14b4cad13a2ec3798","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9928768ec6f1dc14b4cad13a2ec3798"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238328,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b9928768ec6f1dc14b4cad13a2ec3798","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707673,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3M30.tpkg8QRVrHrf7clTtoXImmKcdiaCdxRmq7LjW_8doXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9928768ec6f1dc14b4cad13a2ec3798","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"f926e62e-12fc-4428-9bd5-edb29b0103db","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.009278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ecd160c0-5898-4e70-aaf0-41c695654f7b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.0096996} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:11.707808195Z"}]},"request_id":"5e47d513-9729-445b-943c-e2159f52b972","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.0106537} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b9928768ec6f1dc14b4cad13a2ec3798","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9928768ec6f1dc14b4cad13a2ec3798"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 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":"b9928768ec6f1dc14b4cad13a2ec3798"} device-1 | {"level":"info","message":"GET /devices/d2657b26-97d4-4136-bcd0-e290c2751539? 200 19ms","method":"GET","requestID":"b9928768ec6f1dc14b4cad13a2ec3798","responseTime":19,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9'","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9'","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5844e260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","device":"d2657b26-97d4-4136-bcd0-e290c2751539","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","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","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/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c623e4769a1d260c093755b29bd87d6a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"584f42a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"036e1482-bae2-40a4-b3a8-ee49eef5d289","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.0628216} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905476,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"584f42a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"584f42a0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"584f42a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling 200 11ms","method":"POST","requestID":"584f42a0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58513e70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"470a17ee-fa47-4ac6-a2f4-1e1ca8d78a12","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.075438} device-1 | {"content":{"sdp":"v=0\r\no=- 6027753815718776910 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:svg1\r\na=ice-pwd:D3fiDrxLavZJDCZsaEyyIzF8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C4:78:41:E7:2B:E5:C5:E8:55:E8:8E:B0:1A:15:D6:5B:52:8E:BB:B6:AD:8C:06:0C:D5:25:FC:52:F1:CA:87:38\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.064897,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58513e70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"58513e70-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58513e70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling 200 9ms","method":"POST","requestID":"58513e70-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7330417091848144296 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:TFpt\r\na=ice-pwd:tW44pSP3ENdl8VruN1o3CFol\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E2:A0:D0:0C:AE:AF:FE:3C:68:54:C6:3D:F2:C1:04:0A:AF:1C:9F:D4:8D:6D:43:89:8A:92:26:23:79:CA:41:80\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2419653225 1 udp 2113937151 361dd28e-43d5-4df1-91a7-ead5478d30bc.local 43345 typ host generation 0 ufrag TFpt network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2556473774 1 udp 1677729535 141.24.211.56 43345 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag TFpt network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d2657b26-97d4-4136-bcd0-e290c2751539","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/d2657b26-97d4-4136-bcd0-e290c2751539'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539'"} device-1 | {"content":{"candidate":"candidate:3933403737 1 udp 2113937151 3aa9429b-b7eb-403a-94a0-e751779cfd30.local 47183 typ host generation 0 ufrag svg1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4017812737 1 udp 1677729535 141.24.211.56 47183 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag svg1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c'"} device-1 | {"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d2657b26-97d4-4136-bcd0-e290c2751539","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/b11bcab6-bab3-4710-97cb-946f33f9ada9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ddb5db4963def2ae203109be2180bd2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ddb5db4963def2ae203109be2180bd2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539"},{"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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"}}},"level":"info","message":"received a callback","requestID":"4ddb5db4963def2ae203109be2180bd2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4ddb5db4963def2ae203109be2180bd2","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ddb5db4963def2ae203109be2180bd2"} device-1 | {"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","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/b11bcab6-bab3-4710-97cb-946f33f9ada9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"70baae95a930e5d09a438bf5c8abaabf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"70baae95a930e5d09a438bf5c8abaabf","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/d2657b26-97d4-4136-bcd0-e290c2751539"},{"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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"}}},"level":"info","message":"received a callback","requestID":"70baae95a930e5d09a438bf5c8abaabf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"585adb60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb11bcab6-bab3-4710-97cb-946f33f9ada9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5054ccff-6911-4164-9d38-198a6b86f50e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.1380486} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.291802,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"585adb60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","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":"585adb60-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"585adb60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9 200 7ms","method":"GET","requestID":"585adb60-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"70baae95a930e5d09a438bf5c8abaabf","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"70baae95a930e5d09a438bf5c8abaabf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"585e36c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30fb6608-e5e7-4e7c-9b29-df60bf9c495d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.1604128} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.693294,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"585e36c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"585e36c0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"585e36c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling 200 9ms","method":"POST","requestID":"585e36c0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"585fe470-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebade438-2493-40c7-bef9-1457dae92498","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.1723487} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.535871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"585fe470-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"585fe470-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"585fe470-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling 200 13ms","method":"POST","requestID":"585fe470-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4","level":"info","message":"auth send jwt","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.661972,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"629e571e2e265c8fa27d2e1a4b1d88a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707674,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9"} experiment-1 | {"level":"info","message":"GET /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77 200 8ms","method":"GET","requestID":"629e571e2e265c8fa27d2e1a4b1d88a9","responseTime":8,"status":200,"url":"/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4","level":"info","message":"auth send jwt","requestID":"190381de3433212471160d68091afdc6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"190381de3433212471160d68091afdc6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","requestID":"190381de3433212471160d68091afdc6"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.599779,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"190381de3433212471160d68091afdc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707674,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"190381de3433212471160d68091afdc6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Attempting to finish experiment","requestID":"190381de3433212471160d68091afdc6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"586b7d30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.615449,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"586b7d30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707674,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"586b7d30-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","device":"d2657b26-97d4-4136-bcd0-e290c2751539","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9","device":"740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","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/b11bcab6-bab3-4710-97cb-946f33f9ada9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb11bcab6-bab3-4710-97cb-946f33f9ada9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb11bcab6-bab3-4710-97cb-946f33f9ada9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"471583db-acf6-479b-bbe2-172f6679c955","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.2605593} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c2db71eaecaf4a9f0dacbe26003987b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2db71eaecaf4a9f0dacbe26003987b9","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75b07af5-1401-4bf9-8a44-188004402e83","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.2609322} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c495d174aaabb5e1c852293a2459f43a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"586b7d30-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c495d174aaabb5e1c852293a2459f43a","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/d2657b26-97d4-4136-bcd0-e290c2751539"},{"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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"}}},"level":"info","message":"received a callback","requestID":"c2db71eaecaf4a9f0dacbe26003987b9"} 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/d2657b26-97d4-4136-bcd0-e290c2751539"},{"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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"}}},"level":"info","message":"received a callback","requestID":"c495d174aaabb5e1c852293a2459f43a"} device-1 | {"data":{"peerconnection":"b11bcab6-bab3-4710-97cb-946f33f9ada9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"586b7d30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9 204 38ms","method":"DELETE","requestID":"586b7d30-e346-11ef-bee8-fdb657b9cb09","responseTime":38,"status":204,"url":"/peerconnections/b11bcab6-bab3-4710-97cb-946f33f9ada9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"},"level":"info","message":"Successfully finished experiment","requestID":"190381de3433212471160d68091afdc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58736c70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2657b26-97d4-4136-bcd0-e290c2751539","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54d62125-c100-48ac-9a6a-ad44e1897876","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.3013873} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.32639,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58736c70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"58736c70-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58736c70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling 200 11ms","method":"POST","requestID":"58736c70-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/d2657b26-97d4-4136-bcd0-e290c2751539/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fad52eca4-af85-4d13-b6fc-dc96f4daac77': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fad52eca4-af85-4d13-b6fc-dc96f4daac77","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"8a782428-6d3a-43d8-93b2-bf6d555a7a8d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.3075912} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58756840-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbf8a689-85a5-467f-820c-65c289b51a2f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.3079646} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"190381de3433212471160d68091afdc6","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf493cde-d47c-4d03-9074-00fedc1b5991","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.3120275} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.793404,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"58756840-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"58756840-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58756840-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling 200 9ms","method":"POST","requestID":"58756840-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77","requestID":"190381de3433212471160d68091afdc6"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"190381de3433212471160d68091afdc6"} experiment-1 | {"level":"info","message":"DELETE /experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77 204 121ms","method":"DELETE","requestID":"190381de3433212471160d68091afdc6","responseTime":121,"status":204,"url":"/experiments/ad52eca4-af85-4d13-b6fc-dc96f4daac77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"c2db71eaecaf4a9f0dacbe26003987b9","responseTime":96,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2db71eaecaf4a9f0dacbe26003987b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 95ms","method":"POST","requestID":"c495d174aaabb5e1c852293a2459f43a","responseTime":95,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch","requestID":"c495d174aaabb5e1c852293a2459f43a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4","level":"info","message":"auth send jwt","requestID":"0e87d27ecdea8297136611fea6b83fba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0e87d27ecdea8297136611fea6b83fba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e87d27ecdea8297136611fea6b83fba"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.647","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"76c975d64406fd7344908a3f1909eaa8"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.625","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0ef1f0932d65f459b76b7d00db8ad67d"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d2657b26-97d4-4136-bcd0-e290c2751539' closed"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.869763,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0e87d27ecdea8297136611fea6b83fba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707674,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","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/740d1295-b61f-4a3d-bb7b-0a4da9f8af8c' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1a76618-ee4c-4baa-908b-92529328508b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.390709} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c59cdf2-19fe-48c2-b53f-28630bded041","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.3948388} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"e7b3c322-69d4-4c5e-a48f-64819f1c70b9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.4043202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5f7b4d1-b89c-4480-8abc-b00f35e3407d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.404497} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.404294872Z"}]},"request_id":"6d8fe726-9dfb-47f2-a65a-64ac5d768704","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.408348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e87d27ecdea8297136611fea6b83fba"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e87d27ecdea8297136611fea6b83fba"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"0e87d27ecdea8297136611fea6b83fba","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4","level":"info","message":"auth send jwt","requestID":"9e19d9068571913b8584e43720eac1ab"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9e19d9068571913b8584e43720eac1ab","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9e19d9068571913b8584e43720eac1ab"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.649784,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9e19d9068571913b8584e43720eac1ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707674,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3NH0.vji4QhG5KkVjf7_x9sBWAmkj1unjcKAW7ZAhqYrpfd4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3e80f454-3ed6-4a80-a3d8-d5b67c207204","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.4308963} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11fedba7-0719-4a0d-9c3e-ff3ee797a104","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.4350502} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2c98cebb-5529-449c-9d9b-5b5417e34b92","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.444895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3e60c87-391d-4bff-9d6f-52a3b3d5f253","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.4451306} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.444866520Z"}]},"request_id":"944afed6-38fc-44ab-80a5-9012e596e5a9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707674.4486718} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9e19d9068571913b8584e43720eac1ab"} gateway-1 | {"time_local":"04/Feb/2025:22:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e19d9068571913b8584e43720eac1ab"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"9e19d9068571913b8584e43720eac1ab","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9af8145e73445bbdbc5dad0e3716e0fb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9af8145e73445bbdbc5dad0e3716e0fb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/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":"9af8145e73445bbdbc5dad0e3716e0fb"} device-1 | {"level":"info","message":"OPTIONS /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/websocket 200 1ms","method":"OPTIONS","requestID":"9af8145e73445bbdbc5dad0e3716e0fb","responseTime":1,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"c2125dd4204de75e61d463c7ceaa2145"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c2125dd4204de75e61d463c7ceaa2145","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c2125dd4204de75e61d463c7ceaa2145"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6d0bee23c8a3f176c685cd6a15718713","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d0bee23c8a3f176c685cd6a15718713","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/websocket 200 1ms","method":"OPTIONS","requestID":"6d0bee23c8a3f176c685cd6a15718713","responseTime":1,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/websocket"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/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":"6d0bee23c8a3f176c685cd6a15718713"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717327,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c2125dd4204de75e61d463c7ceaa2145","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c2125dd4204de75e61d463c7ceaa2145","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"2544a3a231240ca0418ff01a9a756b63"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2544a3a231240ca0418ff01a9a756b63","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2544a3a231240ca0418ff01a9a756b63"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276531,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2544a3a231240ca0418ff01a9a756b63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2544a3a231240ca0418ff01a9a756b63","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c2125dd4204de75e61d463c7ceaa2145"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/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":"c2125dd4204de75e61d463c7ceaa2145"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/websocket 200 23ms","method":"POST","requestID":"c2125dd4204de75e61d463c7ceaa2145","responseTime":23,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2544a3a231240ca0418ff01a9a756b63"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/websocket 200 21ms","method":"POST","requestID":"2544a3a231240ca0418ff01a9a756b63","responseTime":21,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/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":"2544a3a231240ca0418ff01a9a756b63"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"fc017a20dd840cb6bb58e2e45f62f741"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc017a20dd840cb6bb58e2e45f62f741","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc017a20dd840cb6bb58e2e45f62f741"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902734,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fc017a20dd840cb6bb58e2e45f62f741","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc017a20dd840cb6bb58e2e45f62f741","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.404294872Z"}]},"request_id":"eed72b46-d3e7-4dc5-ae84-d4e85c9a3a53","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.4852316} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc017a20dd840cb6bb58e2e45f62f741","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc017a20dd840cb6bb58e2e45f62f741"} device-1 | {"level":"info","message":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 200 14ms","method":"GET","requestID":"fc017a20dd840cb6bb58e2e45f62f741","responseTime":14,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 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":"fc017a20dd840cb6bb58e2e45f62f741"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"0dd48ee058311f79e4101103160600a6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0dd48ee058311f79e4101103160600a6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0dd48ee058311f79e4101103160600a6"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08638,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0dd48ee058311f79e4101103160600a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0dd48ee058311f79e4101103160600a6","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.444866520Z"}]},"request_id":"c09f903d-791c-4ae8-ab6a-c0d033a746c3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.504179} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0dd48ee058311f79e4101103160600a6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0dd48ee058311f79e4101103160600a6"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 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":"0dd48ee058311f79e4101103160600a6"} device-1 | {"level":"info","message":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 200 11ms","method":"GET","requestID":"0dd48ee058311f79e4101103160600a6","responseTime":11,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c853bace7c54c683d0c8b0b7e0c878c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.935334,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0c853bace7c54c683d0c8b0b7e0c878c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0c853bace7c54c683d0c8b0b7e0c878c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to run experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to book experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully booked experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007586,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849817,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.404294872Z"}]},"request_id":"d672c207-5634-4285-a937-ab43b41ec563","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.5601978} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.444866520Z"}]},"request_id":"8830beb6-e49c-47bc-86b1-a0a77ef49cb5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.5614076} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 200 19ms","method":"GET","requestID":"59cb3440-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 200 18ms","method":"GET","requestID":"59cb8260-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Setting up experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully set up experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59d59480-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902077,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully running experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763879,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000514,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c87d3840-7ba8-4e07-8ddf-f7cfb40b9f0f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6221383} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.404294872Z"}]},"request_id":"5a696c66-3ab1-4833-adb2-6095ed61909c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6235104} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59d59480-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"59d59480-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.444866520Z"}]},"request_id":"22cb58d6-3126-4961-b2f5-b74aab68de3a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6241143} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59d59480-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling 200 14ms","method":"POST","requestID":"59d59480-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 200 18ms","method":"GET","requestID":"59d51f50-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 200 17ms","method":"GET","requestID":"59d56d70-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59d80580-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59d853a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea9b6800-f9b9-457c-b0f1-7ccdfa21de8c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"83dd4091-e673-409b-a950-459cfaf3fa4f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6347594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8204191a-99aa-4b8e-8448-729b9f5af392","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.634933} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fec61e31-f767-4ae3-8472-73e47a08d1d8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.637142} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207679,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"0c853bace7c54c683d0c8b0b7e0c878c","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59d80580-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"59d80580-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b405bb0c-3ee4-4aa5-9f7b-1ed1eca928fe","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6384332} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.133229,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59d853a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"59d853a0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59d80580-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling 200 11ms","method":"POST","requestID":"59d80580-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59d853a0-e346-11ef-bee8-fdb657b9cb09"} gateway-1 | {"time_local":"04/Feb/2025:22: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.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling 200 10ms","method":"POST","requestID":"59d853a0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 131ms","method":"POST","requestID":"0c853bace7c54c683d0c8b0b7e0c878c","responseTime":131,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59da7680-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737468,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7881c6b-7cba-4c01-88a2-229566c59435","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6518939} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22722,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59da7680-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"59da7680-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.404294872Z"}]},"request_id":"6485dce2-01bc-4f2d-a583-2fd9d91733c6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.657053} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59da7680-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling 200 9ms","method":"POST","requestID":"59da7680-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Building connection plan","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} 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":"c7e64d88-9ea5-4dc6-a7fb-663e2a64c209"},{"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":"10c079e3-af80-40d0-8ae7-ffd28005f13b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d98475b6-6475-4da4-88cc-d23d736175f0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} 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/e50608a5-9ee7-4ed7-9c5f-22b90c635535"},{"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/e0c59bcb-9cd9-445e-9c88-81cba88935eb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5"} device-1 | {"level":"info","message":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 200 12ms","method":"GET","requestID":"f6c567b4d6a1ebcbf771fda9fc4cd9b5","responseTime":12,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535? 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":"f6c567b4d6a1ebcbf771fda9fc4cd9b5"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.726791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"92571d5d17254fd411a1d7d8abc86e1c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92571d5d17254fd411a1d7d8abc86e1c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92571d5d17254fd411a1d7d8abc86e1c"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638622,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"92571d5d17254fd411a1d7d8abc86e1c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"92571d5d17254fd411a1d7d8abc86e1c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2f740b47-665a-439a-81a2-6d37e8a642a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6751795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"876d32c7-8ce0-47ac-b33b-ae781b0f860d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6753964} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:14.444866520Z"}]},"request_id":"a6e13cf6-658e-474f-acb2-e903cfcdb2f2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.6762848} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"92571d5d17254fd411a1d7d8abc86e1c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92571d5d17254fd411a1d7d8abc86e1c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 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":"92571d5d17254fd411a1d7d8abc86e1c"} device-1 | {"level":"info","message":"GET /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb? 200 15ms","method":"GET","requestID":"92571d5d17254fd411a1d7d8abc86e1c","responseTime":15,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b'","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b'","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"59dc4b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0c853bace7c54c683d0c8b0b7e0c878c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59e4afb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88642ea4-9d56-4664-8531-079ef7fd90ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.7201557} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.843329,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59e4afb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","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":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"59e4afb0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59e4afb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling 200 12ms","method":"POST","requestID":"59e4afb0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59e6d290-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1150ed7a-014f-45a6-9a91-fcb79ef2a5f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.7334085} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.503266,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 2789217706325255823 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:2+7N\r\na=ice-pwd:e4pqZLwNC6PNuUWSKsmYIv45\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AD:4E:9E:20:0C:98:45:BC:4D:F2:F0:B5:AB:9A:B1:F1:F1:26:07:FE:8B:35:1F:51:85:FA:C4:A0:AC:CE:0D:D6\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59e6d290-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"59e6d290-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59e6d290-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling 200 9ms","method":"POST","requestID":"59e6d290-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4349970257617978483 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:SDtn\r\na=ice-pwd:KZi2Bip4TKu/+3P5ikk1nRb3\r\na=ice-options:trickle\r\na=fingerprint:sha-256 29:87:3D:1D:EC:07:67:BD:B7:D3:57:E8:5F:18:A8:22:E7:7B:C0:9B:53:C5:49:52:61:4F:68:9E:BC:9A:4F:21\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:968440923 1 udp 2113937151 b33a2312-c2fb-4ab4-8d1e-df2a70585ea6.local 60604 typ host generation 0 ufrag SDtn network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1018245891 1 udp 1677729535 141.24.211.56 60604 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag SDtn network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","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/e50608a5-9ee7-4ed7-9c5f-22b90c635535'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535'"} device-1 | {"content":{"candidate":"candidate:1874924115 1 udp 2113937151 18d56b2d-9d06-42d6-9a64-2e9972fb334d.local 55021 typ host generation 0 ufrag 2+7N network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1791565067 1 udp 1677729535 141.24.211.56 55021 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 2+7N network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","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/e0c59bcb-9cd9-445e-9c88-81cba88935eb'"} device-1 | {"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","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/fcf862ed-f77a-4d2b-98a1-e770ac419c8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79b3e1e0534d7fb939ea6f587716affd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"79b3e1e0534d7fb939ea6f587716affd","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":"new","url":"http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535"},{"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/e0c59bcb-9cd9-445e-9c88-81cba88935eb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"}}},"level":"info","message":"received a callback","requestID":"79b3e1e0534d7fb939ea6f587716affd"} device-1 | {"device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"79b3e1e0534d7fb939ea6f587716affd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"79b3e1e0534d7fb939ea6f587716affd"} device-1 | {"device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","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/fcf862ed-f77a-4d2b-98a1-e770ac419c8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3fc157281842e354fdcd816d67ab84c0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3fc157281842e354fdcd816d67ab84c0","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/e50608a5-9ee7-4ed7-9c5f-22b90c635535"},{"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/e0c59bcb-9cd9-445e-9c88-81cba88935eb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"}}},"level":"info","message":"received a callback","requestID":"3fc157281842e354fdcd816d67ab84c0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"59f159e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcf862ed-f77a-4d2b-98a1-e770ac419c8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73012e3b-c8ae-4e70-844c-f78e9d3495b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.8029647} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.891457,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59f159e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","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":"59f159e0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"59f159e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b 200 9ms","method":"GET","requestID":"59f159e0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"3fc157281842e354fdcd816d67ab84c0","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"3fc157281842e354fdcd816d67ab84c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59f52a70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"529dd4ed-7d5c-4868-886d-292c14e47053","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.8274062} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179488,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59f52a70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"59f52a70-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59f52a70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling 200 8ms","method":"POST","requestID":"59f52a70-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59f6b110-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f0155f3-b7e3-46a5-bfc5-7799e3c261f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.8368433} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.111292,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"59f6b110-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"59f6b110-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59f6b110-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling 200 7ms","method":"POST","requestID":"59f6b110-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"711fa514a9dbd7953b15be514bba808d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"711fa514a9dbd7953b15be514bba808d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","requestID":"711fa514a9dbd7953b15be514bba808d"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.638372,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"711fa514a9dbd7953b15be514bba808d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"711fa514a9dbd7953b15be514bba808d","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","requestID":"711fa514a9dbd7953b15be514bba808d"} experiment-1 | {"level":"info","message":"GET /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c 200 8ms","method":"GET","requestID":"711fa514a9dbd7953b15be514bba808d","responseTime":8,"status":200,"url":"/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"711fa514a9dbd7953b15be514bba808d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo","level":"info","message":"auth send jwt","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.701262,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4f144e8c0d96ff5dc9eb6e2566512db7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Attempting to finish experiment","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.658589,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707676,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3Nn0.Uh1dIBowxRMYe7J5qSeKOq4EwK3nwSRezYonZmttMzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","device":"e0c59bcb-9cd9-445e-9c88-81cba88935eb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b","device":"e50608a5-9ee7-4ed7-9c5f-22b90c635535","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/fcf862ed-f77a-4d2b-98a1-e770ac419c8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcf862ed-f77a-4d2b-98a1-e770ac419c8b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffcf862ed-f77a-4d2b-98a1-e770ac419c8b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"825c1f02-f9c1-4296-9291-6a784a3f3bd2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.9156313} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5818f6788103ceaf97d94aabf947eb72","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec897752-cddc-4523-b673-85e57c375897","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.9159486} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5818f6788103ceaf97d94aabf947eb72","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14aca369d23b5384fcda874a6996619d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"14aca369d23b5384fcda874a6996619d","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/e50608a5-9ee7-4ed7-9c5f-22b90c635535"},{"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/e0c59bcb-9cd9-445e-9c88-81cba88935eb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"}}},"level":"info","message":"received a callback","requestID":"5818f6788103ceaf97d94aabf947eb72"} 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/e50608a5-9ee7-4ed7-9c5f-22b90c635535"},{"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/e0c59bcb-9cd9-445e-9c88-81cba88935eb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"}}},"level":"info","message":"received a callback","requestID":"14aca369d23b5384fcda874a6996619d"} device-1 | {"data":{"peerconnection":"fcf862ed-f77a-4d2b-98a1-e770ac419c8b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b 204 35ms","method":"DELETE","requestID":"5a00c330-e346-11ef-bee8-fdb657b9cb09","responseTime":35,"status":204,"url":"/peerconnections/fcf862ed-f77a-4d2b-98a1-e770ac419c8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"},"level":"info","message":"Successfully finished experiment","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a094eb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe50608a5-9ee7-4ed7-9c5f-22b90c635535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6e8f646-b4b9-4ff0-9a05-ced2b2bd220d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.9606047} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.545875,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5a094eb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535","object_type":"device","rebac_allow":false,"scope_allow":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":"5a094eb0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a094eb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling 200 10ms","method":"POST","requestID":"5a094eb0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/e50608a5-9ee7-4ed7-9c5f-22b90c635535/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea9b6800-f9b9-457c-b0f1-7ccdfa21de8c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"f38c5ec4-476c-4978-8a80-ca45f0c7b0bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.9660056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a69f1636-7793-4f33-872d-1f145d644194","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.966316} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5a0b2370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0c59bcb-9cd9-445e-9c88-81cba88935eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f719dd62-e535-442a-beac-0fdebd5c88b3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707676.972921} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.478178,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5a0b2370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5a0b2370-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5a0b2370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling 200 11ms","method":"POST","requestID":"5a0b2370-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} gateway-1 | {"time_local":"04/Feb/2025:22:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7"} experiment-1 | {"level":"info","message":"DELETE /experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c 204 129ms","method":"DELETE","requestID":"4f144e8c0d96ff5dc9eb6e2566512db7","responseTime":129,"status":204,"url":"/experiments/ea9b6800-f9b9-457c-b0f1-7ccdfa21de8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"5818f6788103ceaf97d94aabf947eb72","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"5818f6788103ceaf97d94aabf947eb72"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"14aca369d23b5384fcda874a6996619d","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"14aca369d23b5384fcda874a6996619d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs","level":"info","message":"auth send jwt","requestID":"1bb967b1d9b8a62a92c8bad8034fb053"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1bb967b1d9b8a62a92c8bad8034fb053"} gateway-1 | {"time_local":"04/Feb/2025:22:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2847","request_time":"0.581","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a3fb0f3ef5055a15de1eba02ac83c26e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:17Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.571","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bdbc472a374c4b2abd39f94c9f9166d7"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.042819,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1bb967b1d9b8a62a92c8bad8034fb053","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707677,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","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/e50608a5-9ee7-4ed7-9c5f-22b90c635535' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e0c59bcb-9cd9-445e-9c88-81cba88935eb' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"87663f63-033d-4f78-98ea-498a565abcce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.0512536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f361d4bf-b6f9-46ba-8a8d-48b33e2e2006","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.055059} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"a6090b80-273d-43ce-9a87-1b96b91b9bb7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.0677254} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e0940fa-5062-4653-9379-9999c9964f69","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.067779} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.067696435Z"}]},"request_id":"3cd1a67a-316f-4841-be74-632e9d9a7320","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.0719817} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1bb967b1d9b8a62a92c8bad8034fb053"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"1bb967b1d9b8a62a92c8bad8034fb053","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bb967b1d9b8a62a92c8bad8034fb053"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs","level":"info","message":"auth send jwt","requestID":"0ace0fc8a31b61b2d247d4213201a28d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ace0fc8a31b61b2d247d4213201a28d"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829434,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0ace0fc8a31b61b2d247d4213201a28d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707677,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b47d126b-0b37-4a28-aff0-9bde618b3fb8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.0961928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d7e46e6-5619-4338-bab8-685fedf928af","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.1004796} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"90911ff8-018f-43f2-94e2-a20aa3e75dd7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.1087203} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"929b7b93-fadd-4509-987a-3b77e6430f5a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.1088412} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"e5c07c3f-2f3e-4e7d-95a8-34171f46686c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.1119018} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ace0fc8a31b61b2d247d4213201a28d"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"0ace0fc8a31b61b2d247d4213201a28d","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22: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.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ace0fc8a31b61b2d247d4213201a28d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs","level":"info","message":"auth send jwt","requestID":"a3aaeeb743921c15ecae31aa69ec8d09"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a3aaeeb743921c15ecae31aa69ec8d09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788823,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a3aaeeb743921c15ecae31aa69ec8d09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707677,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"ca3792ff-24ec-4ba4-930b-9721bc1ba9c7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.583152} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd87dc6d-b6a7-42f7-8e99-52982f34e70d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.5904484} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"62e82e6b-1999-4806-9626-70bb00761f0e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707677.6019235} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a3aaeeb743921c15ecae31aa69ec8d09"} gateway-1 | {"time_local":"04/Feb/2025:22:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/29ca211a-a817-48fb-8970-b4b9c40279ab HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a3aaeeb743921c15ecae31aa69ec8d09"} device-1 | {"level":"info","message":"PATCH /devices/29ca211a-a817-48fb-8970-b4b9c40279ab 200 34ms","method":"PATCH","requestID":"a3aaeeb743921c15ecae31aa69ec8d09","responseTime":34,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs","level":"info","message":"auth send jwt","requestID":"fb5a546cfe58a49cfe16deb3184bdb21"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb5a546cfe58a49cfe16deb3184bdb21","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fb5a546cfe58a49cfe16deb3184bdb21"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36753,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fb5a546cfe58a49cfe16deb3184bdb21","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707677,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3N30.h3J8P_VqtPQJsxYqniXIV38JTMrjBrcWuIwdWo0uTSs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb5a546cfe58a49cfe16deb3184bdb21","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fb5a546cfe58a49cfe16deb3184bdb21"} gateway-1 | {"time_local":"04/Feb/2025:22:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"fb5a546cfe58a49cfe16deb3184bdb21"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/websocket 200 21ms","method":"POST","requestID":"fb5a546cfe58a49cfe16deb3184bdb21","responseTime":21,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca81e1f697a4540f1b9d695e77487adf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ca81e1f697a4540f1b9d695e77487adf","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/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":"ca81e1f697a4540f1b9d695e77487adf"} device-1 | {"level":"info","message":"OPTIONS /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/websocket 200 1ms","method":"OPTIONS","requestID":"ca81e1f697a4540f1b9d695e77487adf","responseTime":1,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"e33d76a25d93c1de97aa614a3f0cd133"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e33d76a25d93c1de97aa614a3f0cd133","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e33d76a25d93c1de97aa614a3f0cd133"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223297,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e33d76a25d93c1de97aa614a3f0cd133","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e33d76a25d93c1de97aa614a3f0cd133","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e33d76a25d93c1de97aa614a3f0cd133"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e33d76a25d93c1de97aa614a3f0cd133"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/websocket 200 24ms","method":"POST","requestID":"e33d76a25d93c1de97aa614a3f0cd133","responseTime":24,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"39a0074199f666fab56e30c2cb944d86"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39a0074199f666fab56e30c2cb944d86","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"39a0074199f666fab56e30c2cb944d86"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.360178,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"39a0074199f666fab56e30c2cb944d86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"39a0074199f666fab56e30c2cb944d86","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.067696435Z"}]},"request_id":"2141ed4a-003c-44b0-ac96-dbe122ff87ab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.1868026} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"39a0074199f666fab56e30c2cb944d86","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"39a0074199f666fab56e30c2cb944d86"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? 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":"39a0074199f666fab56e30c2cb944d86"} device-1 | {"level":"info","message":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? 200 15ms","method":"GET","requestID":"39a0074199f666fab56e30c2cb944d86","responseTime":15,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"7e14245094271a6eab1f9f9019c83107"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e14245094271a6eab1f9f9019c83107","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e14245094271a6eab1f9f9019c83107"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262712,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7e14245094271a6eab1f9f9019c83107","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7e14245094271a6eab1f9f9019c83107","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"5663583e-e4ca-40c0-80d1-0073e1f2f793","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.208013} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e14245094271a6eab1f9f9019c83107","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e14245094271a6eab1f9f9019c83107"} device-1 | {"level":"info","message":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? 200 14ms","method":"GET","requestID":"7e14245094271a6eab1f9f9019c83107","responseTime":14,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e14245094271a6eab1f9f9019c83107"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"51e98fdda367a9f4ad5476fb96764430"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"51e98fdda367a9f4ad5476fb96764430","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"51e98fdda367a9f4ad5476fb96764430"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.213211,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"51e98fdda367a9f4ad5476fb96764430","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"51e98fdda367a9f4ad5476fb96764430","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to run experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to book experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully booked experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605153,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.610571,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.067696435Z"}]},"request_id":"909e0f36-d268-4d89-b22e-cef50c41d2f9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.2638278} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"38b7cafb-5c06-47ef-81b0-ccc1b0a2492f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.2644997} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? 200 14ms","method":"GET","requestID":"5b686980-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? 200 13ms","method":"GET","requestID":"5b68b7a0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Setting up experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully locked booking for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to update booking for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully updated booking for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully set up experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b73db30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.82834,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully running experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.33587,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.750216,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a93958e-131b-4e20-9943-a5b698b2f0f3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3406727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.067696435Z"}]},"request_id":"ea5db6be-4b09-49e2-9c1e-366519257d8c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3430893} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b73db30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5b73db30-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"b2e6ad9b-17a6-4d3d-9f17-bbda1876e21e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3452158} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f2347c6-d72e-4bc2-9030-48ccaba14014#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f2347c6-d72e-4bc2-9030-48ccaba14014","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"c7babffb-c2ba-4b79-a1b4-003ff1bbf315","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3533683} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b73db30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling 200 23ms","method":"POST","requestID":"5b73db30-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14828d1f-0d0a-49d9-99ba-4f5a65a4d9f8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3549113} device-1 | {"level":"info","message":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? 200 30ms","method":"GET","requestID":"5b733ef0-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"51e98fdda367a9f4ad5476fb96764430","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b77f9e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? 200 33ms","method":"GET","requestID":"5b738d10-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab?"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45097e4b-dbb3-43b9-8758-9381e68ad348","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.366607} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.511086,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b798080-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b77f9e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","rebac_allow":false,"scope_allow":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":"5b77f9e0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b77f9e0-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"51e98fdda367a9f4ad5476fb96764430"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling 200 15ms","method":"POST","requestID":"5b77f9e0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling"} gateway-1 | {"time_local":"04/Feb/2025:22: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.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"level":"info","message":"POST /experiments? 201 154ms","method":"POST","requestID":"51e98fdda367a9f4ad5476fb96764430","responseTime":154,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebb8300f-ac6f-4151-b8af-5fe486ea3949","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3754504} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.603515,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b798080-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5b798080-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b798080-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling 200 14ms","method":"POST","requestID":"5b798080-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b7c3fa0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242208,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"382b3cf4a6ff3adcba53ebe07f763ea9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cec61255-063e-4307-b544-bf0eac876219","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.394082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.067696435Z"}]},"request_id":"88ed2d51-9d14-462e-ad11-eac735873d0c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.3947024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.548959,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b7c3fa0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","rebac_allow":false,"scope_allow":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":"5b7c3fa0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9"} device-1 | {"level":"info","message":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? 200 17ms","method":"GET","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9","responseTime":17,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"382b3cf4a6ff3adcba53ebe07f763ea9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b7c3fa0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling 200 15ms","method":"POST","requestID":"5b7c3fa0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Building connection plan","requestID":"51e98fdda367a9f4ad5476fb96764430"} 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":"b90cfc06-8f09-4aea-a8b8-40c237cf9829"},{"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":"6ed6de16-df98-40fc-a79a-cb28fc2b0dbb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1dd4abda-d3c8-401a-8caf-fa87c39f202f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"51e98fdda367a9f4ad5476fb96764430"} 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/29ca211a-a817-48fb-8970-b4b9c40279ab"},{"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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"51e98fdda367a9f4ad5476fb96764430"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w","level":"info","message":"auth send jwt","requestID":"1e323ecf8839903e8f9cefb89c665eaa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e323ecf8839903e8f9cefb89c665eaa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1e323ecf8839903e8f9cefb89c665eaa"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.934331,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.025273,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1e323ecf8839903e8f9cefb89c665eaa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707679,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY3OX0.UXAU45O_N5FKIVu1bRn7rd_fcBaBTbnBF4SkPworU-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1e323ecf8839903e8f9cefb89c665eaa","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:17.108699247Z"}]},"request_id":"27d9f8f0-75df-405a-b918-2259f6942fc5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.4160016} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1e323ecf8839903e8f9cefb89c665eaa","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1e323ecf8839903e8f9cefb89c665eaa"} gateway-1 | {"time_local":"04/Feb/2025:22:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? 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":"1e323ecf8839903e8f9cefb89c665eaa"} device-1 | {"level":"info","message":"GET /devices/29ca211a-a817-48fb-8970-b4b9c40279ab? 200 13ms","method":"GET","requestID":"1e323ecf8839903e8f9cefb89c665eaa","responseTime":13,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"ab6f7fe1-0587-48ec-9f50-87d26173c679","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.42095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b26f4ece-e31f-4168-b129-ad5379a42edd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.4211378} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a'","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a'","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5b7f25d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","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/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"51e98fdda367a9f4ad5476fb96764430"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b8874a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2ad7a67-ac70-4dc6-b6d5-bdd41d57e22d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.470089} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.975821,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b8874a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5b8874a0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b8874a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling 200 10ms","method":"POST","requestID":"5b8874a0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b8a4960-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae089b16-dd86-4f1e-af29-c5bd8a9f83dd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707679.482131} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.621461,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5b8a4960-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5b8a4960-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b8a4960-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling 200 8ms","method":"POST","requestID":"5b8a4960-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling"} device-1 | {"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8486816268576665431 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:5Dac\r\na=ice-pwd:bXHEh6SluLKJOCXX6mtzk180\r\na=ice-options:trickle\r\na=fingerprint:sha-256 28:EF:66:48:04:5C:5A:AC:C0:B5:23:7D:C0:89:8D:73:6B:5E:57:BB:87:AA:41:AF:F5:52:7A:5F:20:8E:F9:7F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/72d4545a-11fc-4396-95c9-333804f6e76a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d60f2ab8c24c43bbdd529dfbe1fe0118","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d60f2ab8c24c43bbdd529dfbe1fe0118","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/29ca211a-a817-48fb-8970-b4b9c40279ab"},{"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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"}}},"level":"info","message":"received a callback","requestID":"d60f2ab8c24c43bbdd529dfbe1fe0118"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d60f2ab8c24c43bbdd529dfbe1fe0118","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d60f2ab8c24c43bbdd529dfbe1fe0118"} device-1 | {"content":{"candidate":"candidate:3301120512 1 udp 2113937151 01450ea8-a928-4ee8-b4be-c73a8322e4b4.local 55384 typ host generation 0 ufrag 5Dac network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3432731079 1 udp 1677729535 141.24.211.56 55384 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 5Dac network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1924655669 1 udp 33562623 141.24.210.113 61852 typ relay raddr 141.24.211.56 rport 55384 generation 0 ufrag 5Dac network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a'"} device-1 | {"data":{"peerconnection":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"72d4545a-11fc-4396-95c9-333804f6e76a","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/72d4545a-11fc-4396-95c9-333804f6e76a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d552de891d164fe058b4ece4fe833478","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d552de891d164fe058b4ece4fe833478","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/29ca211a-a817-48fb-8970-b4b9c40279ab"},{"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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"}}},"level":"info","message":"received a callback","requestID":"d552de891d164fe058b4ece4fe833478"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5ccdecf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72d4545a-11fc-4396-95c9-333804f6e76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3914ab5-984a-4c2c-8d16-ffd500d5f7ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.6044664} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.887024,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5ccdecf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","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":"5ccdecf0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5ccdecf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a 200 8ms","method":"GET","requestID":"5ccdecf0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"d552de891d164fe058b4ece4fe833478","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"d552de891d164fe058b4ece4fe833478"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cd1bd80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f5d13b3-11d7-45c2-a3e8-77eb15c51c5a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.6282785} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.135593,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5cd1bd80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5cd1bd80-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cd1bd80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling 200 8ms","method":"POST","requestID":"5cd1bd80-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cd34420-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2812c54-a3f2-47f6-a4f2-a17575b73fcb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.6402042} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.463684,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5cd34420-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5cd34420-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cd34420-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling 200 12ms","method":"POST","requestID":"5cd34420-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs","level":"info","message":"auth send jwt","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.386391,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707681,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e"} experiment-1 | {"level":"info","message":"GET /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014 200 15ms","method":"GET","requestID":"cc14bf1b0d52cb63d8a7b6b6963da63e","responseTime":15,"status":200,"url":"/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs","level":"info","message":"auth send jwt","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.25636,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6cbcb2665c59f6ec50f2833e552f2f2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707681,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Attempting to finish experiment","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.350827,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707681,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a","device":"dfde4397-47f1-4722-b8cd-f5ffe5604f5a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"29ca211a-a817-48fb-8970-b4b9c40279ab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/72d4545a-11fc-4396-95c9-333804f6e76a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72d4545a-11fc-4396-95c9-333804f6e76a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F72d4545a-11fc-4396-95c9-333804f6e76a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"694fcf77-132d-4dce-80b3-831f5b844c1a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.754515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bf2517e-fb96-4104-a77e-8daf05f0cc53","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.7548687} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a9be47ebebd95e6aabd7d4865bd5267d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a9be47ebebd95e6aabd7d4865bd5267d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"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/29ca211a-a817-48fb-8970-b4b9c40279ab"},{"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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"}}},"level":"info","message":"received a callback","requestID":"a9be47ebebd95e6aabd7d4865bd5267d"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"875b58e4d7654ada4f35488bfe57ec09","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"875b58e4d7654ada4f35488bfe57ec09","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/29ca211a-a817-48fb-8970-b4b9c40279ab"},{"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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"}}},"level":"info","message":"received a callback","requestID":"875b58e4d7654ada4f35488bfe57ec09"} device-1 | {"data":{"peerconnection":"72d4545a-11fc-4396-95c9-333804f6e76a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a 204 44ms","method":"DELETE","requestID":"5ce1c310-e346-11ef-bee8-fdb657b9cb09","responseTime":44,"status":204,"url":"/peerconnections/72d4545a-11fc-4396-95c9-333804f6e76a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"},"level":"info","message":"Successfully finished experiment","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cec2350-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29ca211a-a817-48fb-8970-b4b9c40279ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24f08fa2-d09d-44ea-9941-3d967e6e273a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.80292} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.822686,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5cec2350-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab","object_type":"device","rebac_allow":false,"scope_allow":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":"5cec2350-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cec2350-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling 200 14ms","method":"POST","requestID":"5cec2350-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/29ca211a-a817-48fb-8970-b4b9c40279ab/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f2347c6-d72e-4bc2-9030-48ccaba14014': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f2347c6-d72e-4bc2-9030-48ccaba14014","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"fc7cf643-a060-4455-9c00-fdf8969cfd81","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.812736} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9970a71-f3db-49fa-ad61-c0970da1bc9e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.8130548} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ceebb60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfde4397-47f1-4722-b8cd-f5ffe5604f5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b01c1d6-fa45-45c7-8d23-cd86209a7280","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.821394} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.953591,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5ceebb60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5ceebb60-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ceebb60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling 200 15ms","method":"POST","requestID":"5ceebb60-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/dfde4397-47f1-4722-b8cd-f5ffe5604f5a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e"} experiment-1 | {"level":"info","message":"DELETE /experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014 204 165ms","method":"DELETE","requestID":"6cbcb2665c59f6ec50f2833e552f2f2e","responseTime":165,"status":204,"url":"/experiments/5f2347c6-d72e-4bc2-9030-48ccaba14014"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.246","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8a0eb1ef89bd333807298ee75fe14089"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"a9be47ebebd95e6aabd7d4865bd5267d","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9be47ebebd95e6aabd7d4865bd5267d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"875b58e4d7654ada4f35488bfe57ec09","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"875b58e4d7654ada4f35488bfe57ec09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs","level":"info","message":"auth send jwt","requestID":"0ab9e954738a31a49eaba22ad73ca64e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ab9e954738a31a49eaba22ad73ca64e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ab9e954738a31a49eaba22ad73ca64e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.088066,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/29ca211a-a817-48fb-8970-b4b9c40279ab' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0ab9e954738a31a49eaba22ad73ca64e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707681,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.740","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8e311994510cffb6ed49c7b13094bacf"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd6869d2-44c5-413f-8da8-3c905d5094c3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9031959} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","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/dfde4397-47f1-4722-b8cd-f5ffe5604f5a' 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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d86cc9e-fe5d-459b-a874-e3177be2b6c4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9084466} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"83e78096-076b-4ff3-b5a8-a038fb343428","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9175932} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c440d33-3d02-4254-8998-14bd02f31c2d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.917736} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.917568129Z"}]},"request_id":"66363f31-5882-44ee-8ff1-4ccb190b73ca","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9223826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ab9e954738a31a49eaba22ad73ca64e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ab9e954738a31a49eaba22ad73ca64e"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"0ab9e954738a31a49eaba22ad73ca64e","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs","level":"info","message":"auth send jwt","requestID":"735976640eb6e2f04ec1143c15ca1cfe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"735976640eb6e2f04ec1143c15ca1cfe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"735976640eb6e2f04ec1143c15ca1cfe"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899145,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"735976640eb6e2f04ec1143c15ca1cfe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707681,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4MX0.SfT-sscB7P4btJmClUjBcje1NT6RCvpd-ZPf_o7iXJs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"56568fb4-5039-4fed-86e9-5d2001e5801e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9452448} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"854fa23d-902f-4cb2-a77b-314039d84b0e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9501796} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"dd6b37f7-393d-44bc-a2f1-09038a875580","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9591238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27f06ae9-01c8-4f45-a6d0-dcb9a1a67fc6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.959282} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"77903317-4e45-4a05-ad52-360c98df7223","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707681.9633405} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"735976640eb6e2f04ec1143c15ca1cfe"} gateway-1 | {"time_local":"04/Feb/2025:22:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"735976640eb6e2f04ec1143c15ca1cfe"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"735976640eb6e2f04ec1143c15ca1cfe","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Mn0.K09ZUik_3vWSEdO4MpQcBKo-KQaJZxFgW23m8-Bh86o","level":"info","message":"auth send jwt","requestID":"29eb5617d7c3333101fb77e5326e46c5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29eb5617d7c3333101fb77e5326e46c5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"29eb5617d7c3333101fb77e5326e46c5"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.072159,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"29eb5617d7c3333101fb77e5326e46c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707682,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Mn0.K09ZUik_3vWSEdO4MpQcBKo-KQaJZxFgW23m8-Bh86o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"29eb5617d7c3333101fb77e5326e46c5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"b8f57b13-5f78-4f7e-88ab-3477bf010b30","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707682.441341} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"29eb5617d7c3333101fb77e5326e46c5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c93e4cf1-229c-4cf4-909f-c831636a8905","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707682.4481316} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"29eb5617d7c3333101fb77e5326e46c5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"983e2cf6-0739-48b0-8736-1bfe645f28ce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707682.4597414} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"29eb5617d7c3333101fb77e5326e46c5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"29eb5617d7c3333101fb77e5326e46c5"} gateway-1 | {"time_local":"04/Feb/2025:22:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"29eb5617d7c3333101fb77e5326e46c5"} device-1 | {"level":"info","message":"PATCH /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5 200 32ms","method":"PATCH","requestID":"29eb5617d7c3333101fb77e5326e46c5","responseTime":32,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Mn0.K09ZUik_3vWSEdO4MpQcBKo-KQaJZxFgW23m8-Bh86o","level":"info","message":"auth send jwt","requestID":"fb7aa194fc89e767a901be60a84f27d1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fb7aa194fc89e767a901be60a84f27d1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fb7aa194fc89e767a901be60a84f27d1"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:22Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230494,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fb7aa194fc89e767a901be60a84f27d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707682,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Mn0.K09ZUik_3vWSEdO4MpQcBKo-KQaJZxFgW23m8-Bh86o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb7aa194fc89e767a901be60a84f27d1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fb7aa194fc89e767a901be60a84f27d1"} gateway-1 | {"time_local":"04/Feb/2025:22:21:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"fb7aa194fc89e767a901be60a84f27d1"} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/websocket 200 21ms","method":"POST","requestID":"fb7aa194fc89e767a901be60a84f27d1","responseTime":21,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"10013aae1c9d62446bc1734118780448","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"10013aae1c9d62446bc1734118780448","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/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":"10013aae1c9d62446bc1734118780448"} device-1 | {"level":"info","message":"OPTIONS /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/websocket 200 1ms","method":"OPTIONS","requestID":"10013aae1c9d62446bc1734118780448","responseTime":1,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4M30.ngRuWwDRgGG5oPIgwYBr78GVxH22zjqRzURkqzt3jpA","level":"info","message":"auth send jwt","requestID":"d9dfe214dc02c6bc42f2e3b945df9333"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9dfe214dc02c6bc42f2e3b945df9333","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d9dfe214dc02c6bc42f2e3b945df9333"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311487,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d9dfe214dc02c6bc42f2e3b945df9333","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707683,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4M30.ngRuWwDRgGG5oPIgwYBr78GVxH22zjqRzURkqzt3jpA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9dfe214dc02c6bc42f2e3b945df9333","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d9dfe214dc02c6bc42f2e3b945df9333"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/websocket 200 21ms","method":"POST","requestID":"d9dfe214dc02c6bc42f2e3b945df9333","responseTime":21,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/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":"d9dfe214dc02c6bc42f2e3b945df9333"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc","level":"info","message":"auth send jwt","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274904,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.917568129Z"}]},"request_id":"5a2ba5c6-971d-407e-8e00-2c81e6c81b43","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.045134} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 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":"9bf1ccd90fef9edc3bc7fd62dde17d5c"} device-1 | {"level":"info","message":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 200 16ms","method":"GET","requestID":"9bf1ccd90fef9edc3bc7fd62dde17d5c","responseTime":16,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc","level":"info","message":"auth send jwt","requestID":"5d081cd9398aaee96e3d34a5a45db910"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d081cd9398aaee96e3d34a5a45db910","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d081cd9398aaee96e3d34a5a45db910"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176236,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5d081cd9398aaee96e3d34a5a45db910","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5d081cd9398aaee96e3d34a5a45db910","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"19529677-1424-4ea2-9b49-7ad399f8b1f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.0686398} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5d081cd9398aaee96e3d34a5a45db910","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d081cd9398aaee96e3d34a5a45db910"} gateway-1 | {"time_local":"04/Feb/2025:22:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d081cd9398aaee96e3d34a5a45db910"} device-1 | {"level":"info","message":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? 200 16ms","method":"GET","requestID":"5d081cd9398aaee96e3d34a5a45db910","responseTime":16,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc","level":"info","message":"auth send jwt","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.233609,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"471e662aa5cb73d6ba6d3d76284eb9aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to run experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to book experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully booked experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601897,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624975,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.917568129Z"}]},"request_id":"e288d97e-6f81-4ad7-8407-02866dd89107","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.1329305} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"c4dde4e4-1c0b-4ee0-9564-e8a06b7f02f7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.1336005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 200 13ms","method":"GET","requestID":"5e4f83e0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? 200 14ms","method":"GET","requestID":"5e4faaf0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Setting up experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully locked booking for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to update booking for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully updated booking for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully set up experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e5b6ac0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.901258,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully running experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.499968,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"caf8bb73-16dd-4497-bf5a-f436bf705b35","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2146833} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.465836,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e5b6ac0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","rebac_allow":false,"scope_allow":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":"5e5b6ac0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"160ba142-31d0-452e-99a9-81cb892fe3d5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2191257} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.917568129Z"}]},"request_id":"dc59bc90-68e6-43e3-9d1f-36a7e62d05b3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2234733} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e5b6ac0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling 200 23ms","method":"POST","requestID":"5e5b6ac0-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e5fb080-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F578a379a-51f3-4258-98e6-31df28234885#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F578a379a-51f3-4258-98e6-31df28234885","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"8f8f9459-7566-494f-b7d3-b91e268be667","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.23273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27c06ac3-df42-49bd-a2b0-8551e050c0d5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.233257} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? 200 35ms","method":"GET","requestID":"5e5af590-e346-11ef-bee8-fdb657b9cb09","responseTime":35,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 200 39ms","method":"GET","requestID":"5e5aa770-e346-11ef-bee8-fdb657b9cb09","responseTime":39,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0204a131-8596-42d4-af80-e90d92ebb0dd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.240741} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e611010-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.485322,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e5fb080-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","rebac_allow":false,"scope_allow":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":"5e5fb080-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0b4c886-46e0-4a06-9cb3-b3ba01256127","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.248853} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.6938,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e5fb080-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling 200 18ms","method":"POST","requestID":"5e5fb080-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e611010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","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":"04/Feb/2025:22: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.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5e611010-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e611010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling 200 13ms","method":"POST","requestID":"5e611010-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc","level":"info","message":"auth send jwt","requestID":"6f74c99003d086695fcab98555a6c7e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f74c99003d086695fcab98555a6c7e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e635a00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f74c99003d086695fcab98555a6c7e9"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971723,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f74c99003d086695fcab98555a6c7e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f74c99003d086695fcab98555a6c7e9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48cd2e21-1031-4f54-b01e-b864454e96a0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2615333} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.031961,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e635a00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5e635a00-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e635a00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.917568129Z"}]},"request_id":"f0d16304-0a99-4e37-b691-3941d2d98f49","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2661655} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling 200 10ms","method":"POST","requestID":"5e635a00-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Building connection plan","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} 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":"79c08bb0-bd2d-4e3a-98ab-ad8184c82e14"},{"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":"df9e66ee-7d9c-498e-853d-050a1d7635bc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d11a5dcd-cbb0-42f4-8f2a-aecb1774b466"}]},"level":"info","message":"Built pairwise service configurations","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} 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/e33cf746-d7b8-406c-8449-e484d6c8c1c5"},{"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/5100017c-6ebd-4af9-a29b-29323b67cc39"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6f74c99003d086695fcab98555a6c7e9","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f74c99003d086695fcab98555a6c7e9"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.85805,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 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":"6f74c99003d086695fcab98555a6c7e9"} device-1 | {"level":"info","message":"GET /devices/5100017c-6ebd-4af9-a29b-29323b67cc39? 200 14ms","method":"GET","requestID":"6f74c99003d086695fcab98555a6c7e9","responseTime":14,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc","level":"info","message":"auth send jwt","requestID":"6ed358718ce9e45c3e9f741244709d89"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ed358718ce9e45c3e9f741244709d89","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ed358718ce9e45c3e9f741244709d89"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717237,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ed358718ce9e45c3e9f741244709d89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707684,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4NH0.eiN6gSi9uSt6kQQ_npRZOIjZkm94CwXsyMi-soEXvgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ed358718ce9e45c3e9f741244709d89","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"8376280a-d73c-4a21-bb03-baf1c4b62639","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2812586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e577e020-b5c3-4e5c-a14e-29af5fe1f136","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.281391} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:21.959094330Z"}]},"request_id":"eab295d5-46bf-4ce5-a938-97c5fe52f858","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.2853472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ed358718ce9e45c3e9f741244709d89","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87'","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87'","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ed358718ce9e45c3e9f741244709d89"} gateway-1 | {"time_local":"04/Feb/2025:22:21:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ed358718ce9e45c3e9f741244709d89"} device-1 | {"level":"info","message":"GET /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5? 200 21ms","method":"GET","requestID":"6ed358718ce9e45c3e9f741244709d89","responseTime":21,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5e652ec0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","device":"5100017c-6ebd-4af9-a29b-29323b67cc39","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/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"471e662aa5cb73d6ba6d3d76284eb9aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e6e2f70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbf7e0ae-85bb-421e-83d4-d0e8ed0a671f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.3314304} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705849,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e6e2f70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5e6e2f70-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e6e2f70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling 200 9ms","method":"POST","requestID":"5e6e2f70-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e6fdd20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:24Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d9f375b-5095-4f7e-9734-88a059e968e7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707684.3440297} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.105111,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:24Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4983789586580622650 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:VWgW\r\na=ice-pwd:Ql0NgY9az2ncUEmBd4ZnEQ1A\r\na=ice-options:trickle\r\na=fingerprint:sha-256 17:7E:19:FC:D1:B2:AF:81:44:3D:EC:A5:2E:B3:F2:35:60:13:A8:EB:12:D5:61:12:62:07:62:08:71:EE:E0:CD\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5e6fdd20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","rebac_allow":false,"scope_allow":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":"5e6fdd20-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e6fdd20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling 200 12ms","method":"POST","requestID":"5e6fdd20-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling"} device-1 | {"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"0764479f-5f4a-4395-a480-703bbdfeaf87","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/0764479f-5f4a-4395-a480-703bbdfeaf87' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0764479f-5f4a-4395-a480-703bbdfeaf87","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"564e19cebc2f36693bfce41f8aa13b28","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"564e19cebc2f36693bfce41f8aa13b28","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/e33cf746-d7b8-406c-8449-e484d6c8c1c5"},{"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/5100017c-6ebd-4af9-a29b-29323b67cc39"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"}}},"level":"info","message":"received a callback","requestID":"564e19cebc2f36693bfce41f8aa13b28"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"564e19cebc2f36693bfce41f8aa13b28","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"564e19cebc2f36693bfce41f8aa13b28"} device-1 | {"content":{"candidate":"candidate:2546510645 1 udp 2113937151 1fd9800f-009f-45d8-917a-44a7cac7fcdb.local 42769 typ host generation 0 ufrag VWgW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2462098541 1 udp 1677729535 141.24.211.56 42769 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag VWgW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3251444710 1 udp 33562623 141.24.210.113 59252 typ relay raddr 141.24.211.56 rport 42769 generation 0 ufrag VWgW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","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/5100017c-6ebd-4af9-a29b-29323b67cc39'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39'"} device-1 | {"data":{"peerconnection":"0764479f-5f4a-4395-a480-703bbdfeaf87","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"0764479f-5f4a-4395-a480-703bbdfeaf87","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/0764479f-5f4a-4395-a480-703bbdfeaf87' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0764479f-5f4a-4395-a480-703bbdfeaf87","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a17c5fc4eea7b7683eff53901464279e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a17c5fc4eea7b7683eff53901464279e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5"},{"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/5100017c-6ebd-4af9-a29b-29323b67cc39"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"}}},"level":"info","message":"received a callback","requestID":"a17c5fc4eea7b7683eff53901464279e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5fb1fa10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0764479f-5f4a-4395-a480-703bbdfeaf87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dede4330-51c3-4ae8-9667-c4fc8624b4f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.454733} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.502322,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fb1fa10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","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":"5fb1fa10-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5fb1fa10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87 200 11ms","method":"GET","requestID":"5fb1fa10-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"a17c5fc4eea7b7683eff53901464279e","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"a17c5fc4eea7b7683eff53901464279e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5fb618c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"304a11a4-c19b-4f68-b428-8e13d172f387","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.4819567} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.352708,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fb618c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5fb618c0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5fb618c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling 200 11ms","method":"POST","requestID":"5fb618c0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5fb83ba0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d39a5200-baba-41cb-b16a-b09a64b977a2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.4956677} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.373016,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fb83ba0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5fb83ba0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5fb83ba0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling 200 10ms","method":"POST","requestID":"5fb83ba0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ","level":"info","message":"auth send jwt","requestID":"2c9d59792c04bd3137f1e973637d0d43"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c9d59792c04bd3137f1e973637d0d43","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/578a379a-51f3-4258-98e6-31df28234885","requestID":"2c9d59792c04bd3137f1e973637d0d43"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.168815,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2c9d59792c04bd3137f1e973637d0d43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707686,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c9d59792c04bd3137f1e973637d0d43","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/578a379a-51f3-4258-98e6-31df28234885","requestID":"2c9d59792c04bd3137f1e973637d0d43"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/578a379a-51f3-4258-98e6-31df28234885 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c9d59792c04bd3137f1e973637d0d43"} experiment-1 | {"level":"info","message":"GET /experiments/578a379a-51f3-4258-98e6-31df28234885 200 14ms","method":"GET","requestID":"2c9d59792c04bd3137f1e973637d0d43","responseTime":14,"status":200,"url":"/experiments/578a379a-51f3-4258-98e6-31df28234885"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ","level":"info","message":"auth send jwt","requestID":"c10f2479a25a8b46757cb59571044b80"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c10f2479a25a8b46757cb59571044b80","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/578a379a-51f3-4258-98e6-31df28234885","requestID":"c10f2479a25a8b46757cb59571044b80"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.238542,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c10f2479a25a8b46757cb59571044b80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707686,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c10f2479a25a8b46757cb59571044b80","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Attempting to finish experiment","requestID":"c10f2479a25a8b46757cb59571044b80"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.206653,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707686,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87","device":"5100017c-6ebd-4af9-a29b-29323b67cc39","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e33cf746-d7b8-406c-8449-e484d6c8c1c5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/0764479f-5f4a-4395-a480-703bbdfeaf87' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0764479f-5f4a-4395-a480-703bbdfeaf87","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0764479f-5f4a-4395-a480-703bbdfeaf87': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0764479f-5f4a-4395-a480-703bbdfeaf87","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"b5aa48b5-552c-4928-9a88-33caa2ba1f9b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.599581} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0484311c762cb3db869649e0c3e9ab45","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71dcd63a-f2f8-4add-916a-6ad675f0caba","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.6003156} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0484311c762cb3db869649e0c3e9ab45","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"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/e33cf746-d7b8-406c-8449-e484d6c8c1c5"},{"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/5100017c-6ebd-4af9-a29b-29323b67cc39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"}}},"level":"info","message":"received a callback","requestID":"0484311c762cb3db869649e0c3e9ab45"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca482715f8b215ffb2a40bc20e41d418","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ca482715f8b215ffb2a40bc20e41d418","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":"closed","url":"http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5"},{"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/5100017c-6ebd-4af9-a29b-29323b67cc39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"}}},"level":"info","message":"received a callback","requestID":"ca482715f8b215ffb2a40bc20e41d418"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87 204 50ms","method":"DELETE","requestID":"5fc50ce0-e346-11ef-bee8-fdb657b9cb09","responseTime":50,"status":204,"url":"/peerconnections/0764479f-5f4a-4395-a480-703bbdfeaf87"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/578a379a-51f3-4258-98e6-31df28234885"},"level":"info","message":"Successfully finished experiment","requestID":"c10f2479a25a8b46757cb59571044b80"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5fd07e90-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe33cf746-d7b8-406c-8449-e484d6c8c1c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1211d41f-bc64-4434-89b8-015bbd34fcef","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.655931} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.234766,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fd07e90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5","object_type":"device","rebac_allow":false,"scope_allow":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":"5fd07e90-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5fd07e90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling 200 13ms","method":"POST","requestID":"5fd07e90-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F578a379a-51f3-4258-98e6-31df28234885': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F578a379a-51f3-4258-98e6-31df28234885","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"5db51e54-b0a8-46b8-aae4-aa85560f8b98","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.6637547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a080da0b-05fc-41ef-9dd5-41bbe7546ba0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.6644351} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5fd316a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"c10f2479a25a8b46757cb59571044b80","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5100017c-6ebd-4af9-a29b-29323b67cc39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fd9bb16-6253-4fbd-8cd5-c346a3ba81ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.6718843} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.679426,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fd316a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5100017c-6ebd-4af9-a29b-29323b67cc39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5fd316a0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5fd316a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling 200 12ms","method":"POST","requestID":"5fd316a0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/5100017c-6ebd-4af9-a29b-29323b67cc39/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/578a379a-51f3-4258-98e6-31df28234885","requestID":"c10f2479a25a8b46757cb59571044b80"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/578a379a-51f3-4258-98e6-31df28234885 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c10f2479a25a8b46757cb59571044b80"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.234","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"cb544ae7ae0a94849cff2073c840cd55"} experiment-1 | {"level":"info","message":"DELETE /experiments/578a379a-51f3-4258-98e6-31df28234885 204 168ms","method":"DELETE","requestID":"c10f2479a25a8b46757cb59571044b80","responseTime":168,"status":204,"url":"/experiments/578a379a-51f3-4258-98e6-31df28234885"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"0484311c762cb3db869649e0c3e9ab45","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"0484311c762cb3db869649e0c3e9ab45"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"ca482715f8b215ffb2a40bc20e41d418","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca482715f8b215ffb2a40bc20e41d418"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ","level":"info","message":"auth send jwt","requestID":"c8b1965dd7f346dae5fd283e7d8e949b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c8b1965dd7f346dae5fd283e7d8e949b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.726","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a18da314c77a5f8547de63e3f7b9ab7a"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.971497,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c8b1965dd7f346dae5fd283e7d8e949b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707686,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e33cf746-d7b8-406c-8449-e484d6c8c1c5' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"880372bd-cc9c-4f45-869e-b1bcef1393e5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.7552536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f27e497a-ec55-4b2b-b24d-38144d169213","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.759955} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","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/5100017c-6ebd-4af9-a29b-29323b67cc39' closed"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"4cf66533-6632-4c3a-a3de-5b5b24ab9134","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.7691035} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93e73c54-58c7-43ef-aa9f-4efd24ed341a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.7693048} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"3e5d9ada-c0bf-4e0b-9d22-e9c9a86bf6bc","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.773186} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c8b1965dd7f346dae5fd283e7d8e949b"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"c8b1965dd7f346dae5fd283e7d8e949b","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8b1965dd7f346dae5fd283e7d8e949b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ","level":"info","message":"auth send jwt","requestID":"b8925085b4af99aca6a6784f063492db"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b8925085b4af99aca6a6784f063492db"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739131,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b8925085b4af99aca6a6784f063492db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707686,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4Nn0.xhFU53h_7V5QropnZNlvrkfveZGQv4cM6jpjxeqBXMQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b113df0-9f9e-452f-9617-bb76c92b99c7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.7950778} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64c50fc0-0265-4143-9057-07a0abb8f950","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.7994726} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"648d9e0e-0826-4e18-8372-78d0dde464ea","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.8094022} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f6ce8db-65bf-49a3-809e-e34229f429ed","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.8094256} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.809362357Z"}]},"request_id":"1bcd4dbd-265e-4242-8d1d-13ea244c6d67","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707686.8132946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b8925085b4af99aca6a6784f063492db"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"b8925085b4af99aca6a6784f063492db","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8925085b4af99aca6a6784f063492db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4N30.9wERhDY7SoDXWjaYqwx0i1kQoNKbpQxhC7FAKRzZNsg","level":"info","message":"auth send jwt","requestID":"cc27280791526dbd9f3c1da3e15fdeb5"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cc27280791526dbd9f3c1da3e15fdeb5"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754844,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"cc27280791526dbd9f3c1da3e15fdeb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707687,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4N30.9wERhDY7SoDXWjaYqwx0i1kQoNKbpQxhC7FAKRzZNsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"3a231f73-366f-47b2-922f-b2cd1fe51bd8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707687.2859857} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07e5d432-f3a6-447a-a6c4-81b3236c0c17","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707687.2916007} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"44e373db-5a2e-4f5a-8141-8b84bd7db176","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707687.3058152} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cc27280791526dbd9f3c1da3e15fdeb5"} device-1 | {"level":"info","message":"PATCH /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4 200 33ms","method":"PATCH","requestID":"cc27280791526dbd9f3c1da3e15fdeb5","responseTime":33,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"} gateway-1 | {"time_local":"04/Feb/2025:22:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"cc27280791526dbd9f3c1da3e15fdeb5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4N30.9wERhDY7SoDXWjaYqwx0i1kQoNKbpQxhC7FAKRzZNsg","level":"info","message":"auth send jwt","requestID":"f21eab384427b7a86219adacb9d9ca19"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f21eab384427b7a86219adacb9d9ca19","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f21eab384427b7a86219adacb9d9ca19"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:27Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154118,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f21eab384427b7a86219adacb9d9ca19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707687,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4N30.9wERhDY7SoDXWjaYqwx0i1kQoNKbpQxhC7FAKRzZNsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f21eab384427b7a86219adacb9d9ca19","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f21eab384427b7a86219adacb9d9ca19"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/websocket 200 16ms","method":"POST","requestID":"f21eab384427b7a86219adacb9d9ca19","responseTime":16,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/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.11","requestID":"f21eab384427b7a86219adacb9d9ca19"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dac332730188854a122cc072f502b0a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dac332730188854a122cc072f502b0a7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/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":"dac332730188854a122cc072f502b0a7"} device-1 | {"level":"info","message":"OPTIONS /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/websocket 200 2ms","method":"OPTIONS","requestID":"dac332730188854a122cc072f502b0a7","responseTime":2,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k","level":"info","message":"auth send jwt","requestID":"6fdf924d69e09effacd5c1a13da22b5f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fdf924d69e09effacd5c1a13da22b5f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6fdf924d69e09effacd5c1a13da22b5f"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.753358,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fdf924d69e09effacd5c1a13da22b5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6fdf924d69e09effacd5c1a13da22b5f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6fdf924d69e09effacd5c1a13da22b5f"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/websocket 200 49ms","method":"POST","requestID":"6fdf924d69e09effacd5c1a13da22b5f","responseTime":49,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6fdf924d69e09effacd5c1a13da22b5f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k","level":"info","message":"auth send jwt","requestID":"5fb65d03caa33913b78251321d30bbf0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5fb65d03caa33913b78251321d30bbf0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5fb65d03caa33913b78251321d30bbf0"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309208,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5fb65d03caa33913b78251321d30bbf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5fb65d03caa33913b78251321d30bbf0","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"28fc7520-3f6c-4286-bf08-c00939490668","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707688.9187164} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5fb65d03caa33913b78251321d30bbf0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5fb65d03caa33913b78251321d30bbf0"} device-1 | {"level":"info","message":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? 200 16ms","method":"GET","requestID":"5fb65d03caa33913b78251321d30bbf0","responseTime":16,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5fb65d03caa33913b78251321d30bbf0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k","level":"info","message":"auth send jwt","requestID":"1e9b87b073bc90a6da6fee87c2373ac2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1e9b87b073bc90a6da6fee87c2373ac2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1e9b87b073bc90a6da6fee87c2373ac2"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.331858,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1e9b87b073bc90a6da6fee87c2373ac2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e9b87b073bc90a6da6fee87c2373ac2","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.809362357Z"}]},"request_id":"f3ba2150-3e8d-42c3-878c-5655fed3cbab","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707688.942627} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1e9b87b073bc90a6da6fee87c2373ac2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1e9b87b073bc90a6da6fee87c2373ac2"} gateway-1 | {"time_local":"04/Feb/2025:22:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 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":"1e9b87b073bc90a6da6fee87c2373ac2"} device-1 | {"level":"info","message":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 200 15ms","method":"GET","requestID":"1e9b87b073bc90a6da6fee87c2373ac2","responseTime":15,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k","level":"info","message":"auth send jwt","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15ea1740346f87adb64bbb0752e9fe0b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.394226,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"15ea1740346f87adb64bbb0752e9fe0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15ea1740346f87adb64bbb0752e9fe0b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to run experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to book experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully booked experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287239,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.410448,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"e709eefb-0716-497c-ac9b-dc0856c6541e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.0078557} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.809362357Z"}]},"request_id":"c1b7ef12-c73a-477b-8eb6-10fc5053b3f3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.008412} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? 200 18ms","method":"GET","requestID":"61369e40-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 200 17ms","method":"GET","requestID":"6136ec60-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Setting up experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully set up experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61406240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61412590-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.540458,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61406240-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully running experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61406240-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.562558,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41a6befa-74f8-4e76-bce2-3acd8e7eae41","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.073914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.809362357Z"}]},"request_id":"fbd440e0-38be-4340-a639-ab5db2107879","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.0759122} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.445888,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61412590-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","rebac_allow":false,"scope_allow":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":"61412590-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"5d44fe37-988f-48a3-a104-76e2edffc3f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.0773575} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"61406240-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc37847a2-cc33-424d-b16a-c5359cd895a4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc37847a2-cc33-424d-b16a-c5359cd895a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"4921cb4a-de8d-455f-924c-457aae28f29f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.0845134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ed73504-55cf-46f8-b779-4de4e13e3c29","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.08528} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"15ea1740346f87adb64bbb0752e9fe0b","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61412590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling 200 23ms","method":"POST","requestID":"61412590-e346-11ef-bee8-fdb657b9cb09","responseTime":23,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 200 27ms","method":"GET","requestID":"6140b060-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61406240-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? 200 29ms","method":"GET","requestID":"61406240-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61459260-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61460790-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c841cc8f-3a10-4263-a687-ba541a954ccd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.1008775} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.231723,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 147ms","method":"POST","requestID":"15ea1740346f87adb64bbb0752e9fe0b","responseTime":147,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61459260-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","rebac_allow":false,"scope_allow":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":"61459260-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f550f456-a314-42a9-b703-c037e7108a56","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.106436} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.458789,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61460790-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","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":"61459260-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OX0.xbMtiyy9eQFJKKVcbQWKCuMcwpWZSwIcUFP2EDHJnno","level":"info","message":"auth send jwt","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"61460790-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling 200 15ms","method":"POST","requestID":"61459260-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61460790-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling 200 18ms","method":"POST","requestID":"61460790-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176956,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"18c5d72cf6ab50f7c0cd464f450a2f94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707689,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OX0.xbMtiyy9eQFJKKVcbQWKCuMcwpWZSwIcUFP2EDHJnno"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61493be0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.769078635Z"}]},"request_id":"5ace68d6-83b5-49a5-b2da-986b304f129b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.1246433} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ccc384b-3a48-41d1-9538-7648375a5817","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.1248896} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.432042,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"61493be0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","rebac_allow":false,"scope_allow":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":"61493be0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94"} gateway-1 | {"time_local":"04/Feb/2025:22:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94"} device-1 | {"level":"info","message":"GET /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4? 200 17ms","method":"GET","requestID":"18c5d72cf6ab50f7c0cd464f450a2f94","responseTime":17,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61493be0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling 200 12ms","method":"POST","requestID":"61493be0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Building connection plan","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} 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":"3a300b56-9cfd-4628-83bc-f6226947b16f"},{"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":"a453db0a-00aa-433d-a1f4-19e0afa9ad32"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"57bd26c1-66cc-4503-8288-e31348d3cfde"}]},"level":"info","message":"Built pairwise service configurations","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} 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/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"},{"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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OX0.xbMtiyy9eQFJKKVcbQWKCuMcwpWZSwIcUFP2EDHJnno","level":"info","message":"auth send jwt","requestID":"1a9c805938d8a89f40faf5300fff1b38"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a9c805938d8a89f40faf5300fff1b38","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1a9c805938d8a89f40faf5300fff1b38"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.896717,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707688,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OH0.NDJOV1m-uix-9dy2S6U3M6RQwjh8rS0nO9mjk8rdx4k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961349,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1a9c805938d8a89f40faf5300fff1b38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707689,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY4OX0.xbMtiyy9eQFJKKVcbQWKCuMcwpWZSwIcUFP2EDHJnno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1a9c805938d8a89f40faf5300fff1b38","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:26.809362357Z"}]},"request_id":"85297471-2972-445d-87b4-9b7ce1f98867","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.144442} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1a9c805938d8a89f40faf5300fff1b38","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1a9c805938d8a89f40faf5300fff1b38"} gateway-1 | {"time_local":"04/Feb/2025:22:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 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":"1a9c805938d8a89f40faf5300fff1b38"} device-1 | {"level":"info","message":"GET /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f? 200 12ms","method":"GET","requestID":"1a9c805938d8a89f40faf5300fff1b38","responseTime":12,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"f01bc3c1-2f76-4404-82b0-4fd9193c5ffb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.148623} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8adb4763-c223-414f-b4b6-c53e048a7953","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.1489656} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8'","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8'","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"614bace0-e346-11ef-bee8-fdb657b9cb09"} 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":"614bace0-e346-11ef-bee8-fdb657b9cb09","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":"614bace0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"15ea1740346f87adb64bbb0752e9fe0b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6153c330-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9243e98-4db4-4faa-a225-4b7282e72689","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.1919835} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879295,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6153c330-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6153c330-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6153c330-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling 200 9ms","method":"POST","requestID":"6153c330-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"615570e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"611ea8e4-ab59-4762-9c87-426f4a30d55f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707689.2023509} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586125,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"615570e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"615570e0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"615570e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling 200 8ms","method":"POST","requestID":"615570e0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling"} device-1 | {"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5085930914451005577 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:MhkI\r\na=ice-pwd:lsVGJnEVOFEjhVDG3XIEXaWi\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A9:1E:10:4D:03:1F:46:2F:B7:01:2F:E5:CF:00:62:46:06:29:0F:AE:C5:ED:2E:31:F6:E8:CA:C1:35:C5:3D:4E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"4630e274-c7f2-4fee-87b9-30821783b2b8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/4630e274-c7f2-4fee-87b9-30821783b2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4630e274-c7f2-4fee-87b9-30821783b2b8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"81f025e1bee58f1e6218372983f04088","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81f025e1bee58f1e6218372983f04088","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"},{"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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"}}},"level":"info","message":"received a callback","requestID":"81f025e1bee58f1e6218372983f04088"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"81f025e1bee58f1e6218372983f04088","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"81f025e1bee58f1e6218372983f04088"} device-1 | {"content":{"candidate":"candidate:4023144209 1 udp 2113937151 cba19b2a-adba-4b11-8b49-bb01f021423f.local 41939 typ host generation 0 ufrag MhkI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3938730057 1 udp 1677729535 141.24.211.56 41939 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag MhkI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3117023170 1 udp 33562623 141.24.210.113 65023 typ relay raddr 141.24.211.56 rport 41939 generation 0 ufrag MhkI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f'"} device-1 | {"data":{"peerconnection":"4630e274-c7f2-4fee-87b9-30821783b2b8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"4630e274-c7f2-4fee-87b9-30821783b2b8","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/4630e274-c7f2-4fee-87b9-30821783b2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4630e274-c7f2-4fee-87b9-30821783b2b8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40ab1a79504d0fef9187f268996b3d0a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40ab1a79504d0fef9187f268996b3d0a","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/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"},{"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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"}}},"level":"info","message":"received a callback","requestID":"40ab1a79504d0fef9187f268996b3d0a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"62914c40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4630e274-c7f2-4fee-87b9-30821783b2b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95a94e18-7afb-4235-8e14-da9038b08f97","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.2734802} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.744849,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62914c40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","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":"62914c40-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"62914c40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8 200 9ms","method":"GET","requestID":"62914c40-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"40ab1a79504d0fef9187f268996b3d0a","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"40ab1a79504d0fef9187f268996b3d0a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6294f5c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"213c4682-0f35-454f-a6f0-3f2188cb1a8c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.2969317} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707209,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6294f5c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6294f5c0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6294f5c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling 200 9ms","method":"POST","requestID":"6294f5c0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6296a370-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27253248-0823-4e6d-88e9-bc02db62e630","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.3079908} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.804085,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6296a370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6296a370-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6296a370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling 200 9ms","method":"POST","requestID":"6296a370-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4","level":"info","message":"auth send jwt","requestID":"b095e54f713840b5e19d4fe70f24c154"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b095e54f713840b5e19d4fe70f24c154","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","requestID":"b095e54f713840b5e19d4fe70f24c154"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.211394,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b095e54f713840b5e19d4fe70f24c154","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707691,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b095e54f713840b5e19d4fe70f24c154","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","requestID":"b095e54f713840b5e19d4fe70f24c154"} gateway-1 | {"time_local":"04/Feb/2025:22:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b095e54f713840b5e19d4fe70f24c154"} experiment-1 | {"level":"info","message":"GET /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4 200 14ms","method":"GET","requestID":"b095e54f713840b5e19d4fe70f24c154","responseTime":14,"status":200,"url":"/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4","level":"info","message":"auth send jwt","requestID":"78472afc506cd459d7af8e54266a441e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78472afc506cd459d7af8e54266a441e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","requestID":"78472afc506cd459d7af8e54266a441e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.253011,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"78472afc506cd459d7af8e54266a441e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707691,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"78472afc506cd459d7af8e54266a441e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Attempting to finish experiment","requestID":"78472afc506cd459d7af8e54266a441e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.197092,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707691,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8","device":"1dfd8e58-d226-4a52-864e-e8e361c8bf3f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/4630e274-c7f2-4fee-87b9-30821783b2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4630e274-c7f2-4fee-87b9-30821783b2b8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4630e274-c7f2-4fee-87b9-30821783b2b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4630e274-c7f2-4fee-87b9-30821783b2b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"0bec50c4-45d0-4802-8fc0-247591bff58a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.4157803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15ca12aa-801c-4c4c-952f-9fc493c23ac8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.41607} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0bf95c2392b9f8ff05ece2f5ac5c21a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0bf95c2392b9f8ff05ece2f5ac5c21a3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b862bc0972089c2b1a217348b6540c0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b862bc0972089c2b1a217348b6540c0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"},{"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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"}}},"level":"info","message":"received a callback","requestID":"0bf95c2392b9f8ff05ece2f5ac5c21a3"} 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/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4"},{"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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"}}},"level":"info","message":"received a callback","requestID":"5b862bc0972089c2b1a217348b6540c0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8 204 37ms","method":"DELETE","requestID":"62a43800-e346-11ef-bee8-fdb657b9cb09","responseTime":37,"status":204,"url":"/peerconnections/4630e274-c7f2-4fee-87b9-30821783b2b8"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"},"level":"info","message":"Successfully finished experiment","requestID":"78472afc506cd459d7af8e54266a441e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"62acc380-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"743cd23a-08e3-4500-9a7e-faf5478887d5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.4549735} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.561513,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62acc380-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4","object_type":"device","rebac_allow":false,"scope_allow":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":"62acc380-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"62acc380-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling 200 13ms","method":"POST","requestID":"62acc380-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"62af0d70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc37847a2-cc33-424d-b16a-c5359cd895a4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc37847a2-cc33-424d-b16a-c5359cd895a4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"0e0b2997-6fad-49a5-917e-6d1c9e013f77","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.4646049} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d98a5e01-771b-40ff-9c37-6c94b64cc55b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.4648583} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"78472afc506cd459d7af8e54266a441e","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1dfd8e58-d226-4a52-864e-e8e361c8bf3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dae4f29c-ca97-403e-9946-f89494f32c24","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.4709787} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.990203,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"62af0d70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f","object_type":"device","rebac_allow":false,"scope_allow":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":"62af0d70-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"62af0d70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling 200 13ms","method":"POST","requestID":"62af0d70-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/1dfd8e58-d226-4a52-864e-e8e361c8bf3f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4","requestID":"78472afc506cd459d7af8e54266a441e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78472afc506cd459d7af8e54266a441e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"4.196","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"7871037b82c2b8702568cb023ea09f14"} experiment-1 | {"level":"info","message":"DELETE /experiments/c37847a2-cc33-424d-b16a-c5359cd895a4 204 151ms","method":"DELETE","requestID":"78472afc506cd459d7af8e54266a441e","responseTime":151,"status":204,"url":"/experiments/c37847a2-cc33-424d-b16a-c5359cd895a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"0bf95c2392b9f8ff05ece2f5ac5c21a3","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"0bf95c2392b9f8ff05ece2f5ac5c21a3"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b862bc0972089c2b1a217348b6540c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"5b862bc0972089c2b1a217348b6540c0","responseTime":112,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4","level":"info","message":"auth send jwt","requestID":"96f20549add75f940543fc170a28f4a1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"96f20549add75f940543fc170a28f4a1"} gateway-1 | {"time_local":"04/Feb/2025:22:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.656","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2783a87686c6239372358587f595f586"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.031233,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"96f20549add75f940543fc170a28f4a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707691,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c71fd8e0-8a1a-4162-ac53-cce91b7fe5d4' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e581035a-c91a-462e-b939-eaf3502eb93c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.555117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","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/1dfd8e58-d226-4a52-864e-e8e361c8bf3f' 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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb84da0e-99ce-4553-8eaf-0e1731ec202e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.5600846} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"216a3423-b6d8-45e3-9c9c-c0b4cdafeb7e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.5741549} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb980132-fc68-49b1-8609-90f8ca81e77c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.574247} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"8b394ba2-f6c8-4533-874d-6e8787c84544","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.5783353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"96f20549add75f940543fc170a28f4a1"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96f20549add75f940543fc170a28f4a1"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"96f20549add75f940543fc170a28f4a1","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4","level":"info","message":"auth send jwt","requestID":"1c84789e23158e63e00e4b89fcb41f30"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1c84789e23158e63e00e4b89fcb41f30"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.837826,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"1c84789e23158e63e00e4b89fcb41f30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707691,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5MX0.BN-dn1LN_bdAGfs9yslLXn-Bl3-Q1mPsnP9x1LkRSu4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad6069ae-4842-436d-8222-cf3620fcbe2f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.599422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3d4723a-8630-43be-a440-14ddafc97709","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.603723} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"8ec3aa28-3940-42f5-88f1-58ee11cf08e5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.6126425} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a773740-9b0b-4e5f-b7a5-7b20192f8178","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.612703} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.612609573Z"}]},"request_id":"8c263bae-30d1-4e66-83b7-135be0e61a01","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707691.616607} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1c84789e23158e63e00e4b89fcb41f30"} gateway-1 | {"time_local":"04/Feb/2025:22:21:31 +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":"1c84789e23158e63e00e4b89fcb41f30"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"1c84789e23158e63e00e4b89fcb41f30","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Mn0.7qPHHScb5vfXznyir8R18SnwyDtUhOBo8DAHAFmx9Mc","level":"info","message":"auth send jwt","requestID":"12f0b116bc214bcc1831e33b19b54489"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"12f0b116bc214bcc1831e33b19b54489","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"12f0b116bc214bcc1831e33b19b54489"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.322623,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"12f0b116bc214bcc1831e33b19b54489","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707692,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Mn0.7qPHHScb5vfXznyir8R18SnwyDtUhOBo8DAHAFmx9Mc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"12f0b116bc214bcc1831e33b19b54489","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"2e8b6ff7-d3b2-42a4-8871-f9d104f0ee06","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707692.0904338} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"12f0b116bc214bcc1831e33b19b54489","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29e334f2-5ae9-4799-a47f-d450f39853f4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707692.0974922} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"12f0b116bc214bcc1831e33b19b54489","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"76e16ad7-1f92-419c-bf7d-e9b6e9770a27","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707692.1089962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"12f0b116bc214bcc1831e33b19b54489","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"12f0b116bc214bcc1831e33b19b54489"} gateway-1 | {"time_local":"04/Feb/2025:22:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"12f0b116bc214bcc1831e33b19b54489"} device-1 | {"level":"info","message":"PATCH /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f 200 34ms","method":"PATCH","requestID":"12f0b116bc214bcc1831e33b19b54489","responseTime":34,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Mn0.7qPHHScb5vfXznyir8R18SnwyDtUhOBo8DAHAFmx9Mc","level":"info","message":"auth send jwt","requestID":"16aaa99de7fbf83a4c0fd389365eeec6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16aaa99de7fbf83a4c0fd389365eeec6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"16aaa99de7fbf83a4c0fd389365eeec6"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:32Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228997,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"16aaa99de7fbf83a4c0fd389365eeec6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707692,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Mn0.7qPHHScb5vfXznyir8R18SnwyDtUhOBo8DAHAFmx9Mc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"16aaa99de7fbf83a4c0fd389365eeec6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"16aaa99de7fbf83a4c0fd389365eeec6"} gateway-1 | {"time_local":"04/Feb/2025:22:21:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"16aaa99de7fbf83a4c0fd389365eeec6"} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/websocket 200 22ms","method":"POST","requestID":"16aaa99de7fbf83a4c0fd389365eeec6","responseTime":22,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a605b6c4a682b9d13bbc07d67115978e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a605b6c4a682b9d13bbc07d67115978e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/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":"a605b6c4a682b9d13bbc07d67115978e"} device-1 | {"level":"info","message":"OPTIONS /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/websocket 200 1ms","method":"OPTIONS","requestID":"a605b6c4a682b9d13bbc07d67115978e","responseTime":1,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341351,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/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":"a87d20d7b1acd190dcbdf5fd5a8e8f94"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/websocket 200 21ms","method":"POST","requestID":"a87d20d7b1acd190dcbdf5fd5a8e8f94","responseTime":21,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"49aa3c0d16ecad78917454e6a62ea514"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"49aa3c0d16ecad78917454e6a62ea514","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"49aa3c0d16ecad78917454e6a62ea514"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166317,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"49aa3c0d16ecad78917454e6a62ea514","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"49aa3c0d16ecad78917454e6a62ea514","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"70cd49b0-2aca-4b40-b35c-6f40acddeb7a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.6842237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"49aa3c0d16ecad78917454e6a62ea514","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"49aa3c0d16ecad78917454e6a62ea514"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49aa3c0d16ecad78917454e6a62ea514"} device-1 | {"level":"info","message":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? 200 16ms","method":"GET","requestID":"49aa3c0d16ecad78917454e6a62ea514","responseTime":16,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"50eeaf56d61ce2b9507a96833c1f9552"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50eeaf56d61ce2b9507a96833c1f9552","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50eeaf56d61ce2b9507a96833c1f9552"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346377,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"50eeaf56d61ce2b9507a96833c1f9552","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50eeaf56d61ce2b9507a96833c1f9552","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.612609573Z"}]},"request_id":"1f29759c-90b2-45a6-a783-1c524bc50a8d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.707445} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"50eeaf56d61ce2b9507a96833c1f9552","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50eeaf56d61ce2b9507a96833c1f9552"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 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":"50eeaf56d61ce2b9507a96833c1f9552"} device-1 | {"level":"info","message":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 200 15ms","method":"GET","requestID":"50eeaf56d61ce2b9507a96833c1f9552","responseTime":15,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"f9fb96e6306b98a613056a91d3db32bd"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9fb96e6306b98a613056a91d3db32bd","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"f9fb96e6306b98a613056a91d3db32bd"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.209506,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"f9fb96e6306b98a613056a91d3db32bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9fb96e6306b98a613056a91d3db32bd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to run experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to book experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully booked experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.453528,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857631,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"b5d1b2c0-8c82-440e-96ae-ade4fd2cde00","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.7790449} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.612609573Z"}]},"request_id":"53e4e898-548c-41fc-a45d-b40a65081a86","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.7815616} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? 200 22ms","method":"GET","requestID":"640e7660-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 200 22ms","method":"GET","requestID":"640e9d70-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Setting up experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully set up experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"641b6eb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.771781,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully running experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2892,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26eec386-7ee3-43b2-b725-be78c345fb52","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.8620203} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.258613,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"641b6eb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","rebac_allow":false,"scope_allow":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":"641b6eb0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.612609573Z"}]},"request_id":"02d5dd7c-0a28-4bb7-87d2-22d8f60b4287","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.865266} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"641b6eb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"ef728dd1-5642-42fc-994e-40daa4f6682a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.8702753} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling 200 21ms","method":"POST","requestID":"641b6eb0-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34ce8de5-4cdd-4c49-b13f-5b776c18ec6a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"5fcff928-a282-41b3-bf31-30ad14ad841e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.877474} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"641f6650-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac2f8a47-ffe8-4562-9e67-a0e0bfa0faae","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.8778534} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"f9fb96e6306b98a613056a91d3db32bd","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 200 35ms","method":"GET","requestID":"641b2090-e346-11ef-bee8-fdb657b9cb09","responseTime":35,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7?"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? 200 38ms","method":"GET","requestID":"641ad270-e346-11ef-bee8-fdb657b9cb09","responseTime":38,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8d4e589-6686-43c0-a5e0-d754408a6edb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.8871398} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.639232,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"641f6650-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","rebac_allow":false,"scope_allow":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":"641f6650-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64216220-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"f9fb96e6306b98a613056a91d3db32bd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"641f6650-e346-11ef-bee8-fdb657b9cb09"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"f9fb96e6306b98a613056a91d3db32bd","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling 200 19ms","method":"POST","requestID":"641f6650-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ced775f3-ef75-4c83-91d0-178a2709e732","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.9002135} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.816064,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"55bc80fd62e67ed308076f205774cea8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55bc80fd62e67ed308076f205774cea8","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"64216220-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","rebac_allow":false,"scope_allow":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":"64216220-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"55bc80fd62e67ed308076f205774cea8"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147598,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64216220-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling 200 19ms","method":"POST","requestID":"64216220-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"55bc80fd62e67ed308076f205774cea8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"55bc80fd62e67ed308076f205774cea8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6424bd80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.574122228Z"}]},"request_id":"e5213f50-f387-48f9-8aef-867c0a4bef17","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.914582} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"55bc80fd62e67ed308076f205774cea8","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96d1b4c2-fc1c-42d0-9e58-fc2cf418ed59","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.9188726} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.10904,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"55bc80fd62e67ed308076f205774cea8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6424bd80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? 200 18ms","method":"GET","requestID":"55bc80fd62e67ed308076f205774cea8","responseTime":18,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55bc80fd62e67ed308076f205774cea8"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6424bd80-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6424bd80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling 200 12ms","method":"POST","requestID":"6424bd80-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Building connection plan","requestID":"f9fb96e6306b98a613056a91d3db32bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ","level":"info","message":"auth send jwt","requestID":"c6a2519fe9371d1ac12688d377852329"} 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":"03e667c2-5f4e-46d3-80e1-47f5eeffba8a"},{"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":"83ddd317-7435-4b3d-af04-770a9a75d77c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"776f04c7-bbe7-47a7-a93b-edacfd4a23e4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"f9fb96e6306b98a613056a91d3db32bd"} 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/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"},{"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/0941fecc-c08f-446b-be05-5c16bcc99cc7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"f9fb96e6306b98a613056a91d3db32bd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6a2519fe9371d1ac12688d377852329","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6a2519fe9371d1ac12688d377852329"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9544,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c6a2519fe9371d1ac12688d377852329","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c6a2519fe9371d1ac12688d377852329","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.038363,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"64275590-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707693,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5M30.XbjnTOqR2OvPCE88dEJfGT_iKg7So16ZEahdSQ-jaWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:31.612609573Z"}]},"request_id":"f6c07be4-ee91-4288-bc51-6f4834445817","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.9393828} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6a2519fe9371d1ac12688d377852329","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6a2519fe9371d1ac12688d377852329"} gateway-1 | {"time_local":"04/Feb/2025:22:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 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":"c6a2519fe9371d1ac12688d377852329"} device-1 | {"level":"info","message":"GET /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7? 200 17ms","method":"GET","requestID":"c6a2519fe9371d1ac12688d377852329","responseTime":17,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7?"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"143290b7-cbbb-4db8-b19d-2cea4a23f3f5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.947682} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e619d2f-f50c-4335-b9e6-c6ead1c32509","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.9479887} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c'","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c'","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"64275590-e346-11ef-bee8-fdb657b9cb09","responseTime":33,"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":"64275590-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"f9fb96e6306b98a613056a91d3db32bd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"643167b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:33Z"} device-1 | {"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96a5b03f-3ce8-47d8-888f-3d6a39151d5b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707693.999956} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.951294,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"643167b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"643167b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2562454844960665231 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:t6Uk\r\na=ice-pwd:Tc8/cFSLoBpiegEjVkJ+ELG1\r\na=ice-options:trickle\r\na=fingerprint:sha-256 00:6E:3A:FA:13:BB:8D:9F:63:E1:A5:CE:E1:60:3E:8D:DC:1A:79:F0:36:50:F6:0C:49:BF:34:64:FB:59:32:29\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"643167b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling 200 11ms","method":"POST","requestID":"643167b0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64336380-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:34Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3abd67ca-edde-4612-97a8-6cbd05685082","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707694.0120747} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309456,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"64336380-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"64336380-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64336380-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling 200 7ms","method":"POST","requestID":"64336380-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling"} device-1 | {"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"44e29994-d421-4918-bde3-b20261494b1c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/44e29994-d421-4918-bde3-b20261494b1c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44e29994-d421-4918-bde3-b20261494b1c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2670729bed15e9586a64b777342d8c10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2670729bed15e9586a64b777342d8c10","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"},{"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/0941fecc-c08f-446b-be05-5c16bcc99cc7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"}}},"level":"info","message":"received a callback","requestID":"2670729bed15e9586a64b777342d8c10"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"2670729bed15e9586a64b777342d8c10","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"2670729bed15e9586a64b777342d8c10"} device-1 | {"content":{"candidate":"candidate:3109125977 1 udp 2113937151 8e5ba180-4ece-40c3-bdd6-61cfc0807b5c.local 36266 typ host generation 0 ufrag t6Uk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3159977985 1 udp 1677729535 141.24.211.56 36266 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag t6Uk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4015312778 1 udp 33562623 141.24.210.113 61871 typ relay raddr 141.24.211.56 rport 36266 generation 0 ufrag t6Uk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","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/0941fecc-c08f-446b-be05-5c16bcc99cc7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7'"} device-1 | {"data":{"peerconnection":"44e29994-d421-4918-bde3-b20261494b1c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"44e29994-d421-4918-bde3-b20261494b1c","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/44e29994-d421-4918-bde3-b20261494b1c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44e29994-d421-4918-bde3-b20261494b1c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2057b203642b83f395ff6ba6dbc645a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2057b203642b83f395ff6ba6dbc645a6","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/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"},{"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/0941fecc-c08f-446b-be05-5c16bcc99cc7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"}}},"level":"info","message":"received a callback","requestID":"2057b203642b83f395ff6ba6dbc645a6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"65750b40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44e29994-d421-4918-bde3-b20261494b1c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"378cd903-15f7-48ed-8897-5da6205d13bd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.1220138} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.418656,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"65750b40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","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":"65750b40-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"65750b40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/44e29994-d421-4918-bde3-b20261494b1c 200 11ms","method":"GET","requestID":"65750b40-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"2057b203642b83f395ff6ba6dbc645a6","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"2057b203642b83f395ff6ba6dbc645a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6579ed40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dce8caf-16cf-43e2-837b-3ee0db711477","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.1538084} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.292619,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6579ed40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6579ed40-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6579ed40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling 200 11ms","method":"POST","requestID":"6579ed40-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"657c1020-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ea37719-c516-4d46-bf00-2f2190988714","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.1687076} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.970777,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"657c1020-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","rebac_allow":false,"scope_allow":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":"657c1020-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"657c1020-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling 200 14ms","method":"POST","requestID":"657c1020-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292679,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"eaead79f5f5b2b576c7c72fc4f4fc717","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717"} experiment-1 | {"level":"info","message":"GET /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a 200 14ms","method":"GET","requestID":"eaead79f5f5b2b576c7c72fc4f4fc717","responseTime":14,"status":200,"url":"/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"af328bd666e47f20e0e004f14974fa2e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"af328bd666e47f20e0e004f14974fa2e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","requestID":"af328bd666e47f20e0e004f14974fa2e"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.20954,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"af328bd666e47f20e0e004f14974fa2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af328bd666e47f20e0e004f14974fa2e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Attempting to finish experiment","requestID":"af328bd666e47f20e0e004f14974fa2e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"65889340-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.153657,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"65889340-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"65889340-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c","device":"0941fecc-c08f-446b-be05-5c16bcc99cc7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bc0f4ed9-9867-4ac8-94c0-75938500fb3f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/44e29994-d421-4918-bde3-b20261494b1c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44e29994-d421-4918-bde3-b20261494b1c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44e29994-d421-4918-bde3-b20261494b1c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44e29994-d421-4918-bde3-b20261494b1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"5da8a6d8-94b0-43e8-b8b2-579b2b63a056","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.2670267} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26872efc-e13f-4d86-98b0-0d2a4582ecd4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.267618} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a4011b2972b7f27c008e95008098b53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a4011b2972b7f27c008e95008098b53","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"65889340-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"252bc5d31a5398db2b9ef91aa71a561d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"},{"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/0941fecc-c08f-446b-be05-5c16bcc99cc7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"}}},"level":"info","message":"received a callback","requestID":"8a4011b2972b7f27c008e95008098b53"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"252bc5d31a5398db2b9ef91aa71a561d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f"},{"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/0941fecc-c08f-446b-be05-5c16bcc99cc7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"}}},"level":"info","message":"received a callback","requestID":"252bc5d31a5398db2b9ef91aa71a561d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"65889340-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/44e29994-d421-4918-bde3-b20261494b1c 204 44ms","method":"DELETE","requestID":"65889340-e346-11ef-bee8-fdb657b9cb09","responseTime":44,"status":204,"url":"/peerconnections/44e29994-d421-4918-bde3-b20261494b1c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"},"level":"info","message":"Successfully finished experiment","requestID":"af328bd666e47f20e0e004f14974fa2e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65927e50-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc0f4ed9-9867-4ac8-94c0-75938500fb3f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33bf7546-c290-4bd5-b04f-31c381f2e8fd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.3159127} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.520553,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"65927e50-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"65927e50-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65927e50-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling 200 13ms","method":"POST","requestID":"65927e50-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/bc0f4ed9-9867-4ac8-94c0-75938500fb3f/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34ce8de5-4cdd-4c49-b13f-5b776c18ec6a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"c304db1e-ddd3-4c30-bed6-6c9645c5af89","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.3233275} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c06fbd9-44bf-48cb-9f32-719f262ce480","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.3236759} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"af328bd666e47f20e0e004f14974fa2e","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6594c840-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0941fecc-c08f-446b-be05-5c16bcc99cc7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d83cdeea-fefe-41c5-ad20-3ecb4fe4d500","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.3306527} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.285687,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6594c840-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7","object_type":"device","rebac_allow":false,"scope_allow":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":"6594c840-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6594c840-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling 200 13ms","method":"POST","requestID":"6594c840-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/0941fecc-c08f-446b-be05-5c16bcc99cc7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a","requestID":"af328bd666e47f20e0e004f14974fa2e"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af328bd666e47f20e0e004f14974fa2e"} experiment-1 | {"level":"info","message":"DELETE /experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a 204 156ms","method":"DELETE","requestID":"af328bd666e47f20e0e004f14974fa2e","responseTime":156,"status":204,"url":"/experiments/34ce8de5-4cdd-4c49-b13f-5b776c18ec6a"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"4.243","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"47f72fda7eb2907859874cc3c8e98341"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"8a4011b2972b7f27c008e95008098b53","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a4011b2972b7f27c008e95008098b53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"252bc5d31a5398db2b9ef91aa71a561d","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"252bc5d31a5398db2b9ef91aa71a561d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"8638f61377114d231ab8043030289a55"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8638f61377114d231ab8043030289a55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8638f61377114d231ab8043030289a55"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e8e8f6c8999499aebf44c5e8191dd0d"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.041112,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8638f61377114d231ab8043030289a55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","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/bc0f4ed9-9867-4ac8-94c0-75938500fb3f' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c95a60ce-e852-497c-9fb2-68f8c1b62be2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4129198} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50712a3c-37f3-45e8-802b-9174700a3c7d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.418788} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","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/0941fecc-c08f-446b-be05-5c16bcc99cc7' closed"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"8e7f66ec-0596-4aaf-993a-59cbd58d48c1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4286537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f563538-779f-485f-b9a1-55c8b221897d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4289482} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"a734c2ff-9a53-4c44-8eca-9b2f8b43e45b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4331627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8638f61377114d231ab8043030289a55"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8638f61377114d231ab8043030289a55"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"8638f61377114d231ab8043030289a55","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"24d676ab5a51131f2ad7b82df6a68717"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24d676ab5a51131f2ad7b82df6a68717","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"24d676ab5a51131f2ad7b82df6a68717"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67322,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"24d676ab5a51131f2ad7b82df6a68717","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"447fb290-a050-48de-922f-032a4bd01857","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.455719} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2511a711-ab0d-42e7-88d5-f4ac9fc43385","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4597797} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"f9147122-fbf8-41b1-8095-997041a70ddb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4700196} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2443dae-6be5-42b5-817c-4739a67eadc4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4701827} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"b95d117c-4a5b-4f18-87a0-8dd444fcea50","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.4740064} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"24d676ab5a51131f2ad7b82df6a68717"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24d676ab5a51131f2ad7b82df6a68717"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"24d676ab5a51131f2ad7b82df6a68717","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"b9d9873693b82a2138b7c216bf5c10cf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9d9873693b82a2138b7c216bf5c10cf","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"c2d48cee12fe4d40fad3752bfd24dd29"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b9d9873693b82a2138b7c216bf5c10cf"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c2d48cee12fe4d40fad3752bfd24dd29"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217038,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b9d9873693b82a2138b7c216bf5c10cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9d9873693b82a2138b7c216bf5c10cf","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c2d48cee12fe4d40fad3752bfd24dd29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"a0c1b3ad-7c8d-44d1-9128-eb28792a2a13","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.934818} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b9d9873693b82a2138b7c216bf5c10cf","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"b7314bb9-23db-4627-bcf5-6afca410e15e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.935592} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8199e46d-d9b5-4409-9756-f019b370835f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.940379} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b9d9873693b82a2138b7c216bf5c10cf","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa9a4fad-7dc9-4cd2-8310-680f85e9341d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.9419096} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"e9919832-a363-4df5-ac9d-c44494bb966f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.9447153} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c2d48cee12fe4d40fad3752bfd24dd29"} device-1 | {"level":"info","message":"PATCH /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319 200 22ms","method":"PATCH","requestID":"c2d48cee12fe4d40fad3752bfd24dd29","responseTime":22,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c2d48cee12fe4d40fad3752bfd24dd29"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"c7d7b2dd52d48172fe61d25898f4a85a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7d7b2dd52d48172fe61d25898f4a85a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c7d7b2dd52d48172fe61d25898f4a85a"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861112,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c7d7b2dd52d48172fe61d25898f4a85a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c7d7b2dd52d48172fe61d25898f4a85a","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"c28d41c0-ecff-463b-b220-f0d22ae62baf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707696.9558187} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b9d9873693b82a2138b7c216bf5c10cf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b9d9873693b82a2138b7c216bf5c10cf"} device-1 | {"level":"info","message":"PATCH /devices/4936c768-9709-4127-bdfa-0b6568877bb2 200 36ms","method":"PATCH","requestID":"b9d9873693b82a2138b7c216bf5c10cf","responseTime":36,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4936c768-9709-4127-bdfa-0b6568877bb2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"b9d9873693b82a2138b7c216bf5c10cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA","level":"info","message":"auth send jwt","requestID":"dae270e08531b06f8797e78cc6420a15"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dae270e08531b06f8797e78cc6420a15","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dae270e08531b06f8797e78cc6420a15"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c7d7b2dd52d48172fe61d25898f4a85a"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"dae270e08531b06f8797e78cc6420a15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707696,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5Nn0.TFbsNSewtD0Utlz57o2WEKB22fmspR7pqUz-sh7CliA"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/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.11","requestID":"c7d7b2dd52d48172fe61d25898f4a85a"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/websocket 200 16ms","method":"POST","requestID":"c7d7b2dd52d48172fe61d25898f4a85a","responseTime":16,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dae270e08531b06f8797e78cc6420a15","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dae270e08531b06f8797e78cc6420a15"} gateway-1 | {"time_local":"04/Feb/2025:22:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/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.11","requestID":"dae270e08531b06f8797e78cc6420a15"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/websocket 200 16ms","method":"POST","requestID":"dae270e08531b06f8797e78cc6420a15","responseTime":16,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o","level":"info","message":"auth send jwt","requestID":"e5b0e2a21cac179cc1cc099093d73207"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e5b0e2a21cac179cc1cc099093d73207","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5b0e2a21cac179cc1cc099093d73207"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00586,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"e5b0e2a21cac179cc1cc099093d73207","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5b0e2a21cac179cc1cc099093d73207","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"c04b3526-1616-4a38-8a11-d827f8614c4a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.0094502} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5b0e2a21cac179cc1cc099093d73207","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5b0e2a21cac179cc1cc099093d73207"} gateway-1 | {"time_local":"04/Feb/2025:22:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 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":"e5b0e2a21cac179cc1cc099093d73207"} device-1 | {"level":"info","message":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 200 12ms","method":"GET","requestID":"e5b0e2a21cac179cc1cc099093d73207","responseTime":12,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o","level":"info","message":"auth send jwt","requestID":"00d063d3eaaf22f4e18383138bbc6bb7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00d063d3eaaf22f4e18383138bbc6bb7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00d063d3eaaf22f4e18383138bbc6bb7"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.509381,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"00d063d3eaaf22f4e18383138bbc6bb7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"00d063d3eaaf22f4e18383138bbc6bb7","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"756b340a-6e45-4940-8603-36fc8e8e5445","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.0270426} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"00d063d3eaaf22f4e18383138bbc6bb7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00d063d3eaaf22f4e18383138bbc6bb7"} device-1 | {"level":"info","message":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 200 14ms","method":"GET","requestID":"00d063d3eaaf22f4e18383138bbc6bb7","responseTime":14,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 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":"00d063d3eaaf22f4e18383138bbc6bb7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o","level":"info","message":"auth send jwt","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c2605f0d85188d80d29c1c6e01421f9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.363501,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7c2605f0d85188d80d29c1c6e01421f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7c2605f0d85188d80d29c1c6e01421f9","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to run experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to book experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully booked experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61285,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980604,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"aa42a421-ee85-437e-b58d-999cb62ad931","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.0799649} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"a9f0f038-5918-4e5e-a6e7-547569a58ebf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.0813525} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 200 18ms","method":"GET","requestID":"660627b0-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 200 17ms","method":"GET","requestID":"660675d0-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Setting up experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully set up experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"661012c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956925,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully running experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889769,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3030b372-3f1e-47ef-b3a1-f81743753c1b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.138546} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467274,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"661012c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"661012c0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"4a30d06a-2fda-4dd7-976b-4477354bbd73","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.140836} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"901d48a4-28fe-4c77-b693-425a7ddd73ee","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.1428883} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"661012c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling 200 12ms","method":"POST","requestID":"661012c0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"661235a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 200 17ms","method":"GET","requestID":"660febb0-e346-11ef-bee8-fdb657b9cb09","responseTime":17,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 200 19ms","method":"GET","requestID":"660f9d90-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2?"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6612d1e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f278d54-21da-442f-b9ec-3c37684be8cd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f278d54-21da-442f-b9ec-3c37684be8cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"ccf280a9-54fd-4252-bbd8-127d801d96c4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.1507657} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d392bb6-128b-4c44-8061-93989f294831","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.150808} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f6d014a-e2a5-4c6a-a503-2a66e51d9e3a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.1511774} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.835534,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"661235a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"661235a0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7c2605f0d85188d80d29c1c6e01421f9","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"661235a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling 200 9ms","method":"POST","requestID":"661235a0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e33e6c7-1de8-454e-80e8-c7ce6f744089","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.155734} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607813,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6612d1e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6612d1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6612d1e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling 200 9ms","method":"POST","requestID":"6612d1e0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6614a6a0-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} gateway-1 | {"time_local":"04/Feb/2025:22:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 127ms","method":"POST","requestID":"7c2605f0d85188d80d29c1c6e01421f9","responseTime":127,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o","level":"info","message":"auth send jwt","requestID":"5342c1bca77a2529158647eda8b9bd08"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e322f32-11ec-4866-8550-bc129043b139","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.166757} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5342c1bca77a2529158647eda8b9bd08","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.138931,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5342c1bca77a2529158647eda8b9bd08"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6614a6a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6614a6a0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630154,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6614a6a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling 200 9ms","method":"POST","requestID":"6614a6a0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"5342c1bca77a2529158647eda8b9bd08","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5342c1bca77a2529158647eda8b9bd08","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Building connection plan","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} 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":"ba036cd1-78e7-46cd-a652-0e7256754eef"},{"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":"474ba9b4-8eee-47e1-ac66-c35ec483fc7c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc5ebd48-4938-414e-80cc-380b777fd8f1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} 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/4936c768-9709-4127-bdfa-0b6568877bb2"},{"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/2597147d-db5d-4a86-b76b-e4f3cf5c2319"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.428620853Z"}]},"request_id":"8a94c810-8681-4f36-a293-d756f97e5812","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.1748116} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5342c1bca77a2529158647eda8b9bd08","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.725696,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"66165450-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5342c1bca77a2529158647eda8b9bd08"} gateway-1 | {"time_local":"04/Feb/2025:22:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 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":"5342c1bca77a2529158647eda8b9bd08"} device-1 | {"level":"info","message":"GET /devices/4936c768-9709-4127-bdfa-0b6568877bb2? 200 13ms","method":"GET","requestID":"5342c1bca77a2529158647eda8b9bd08","responseTime":13,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o","level":"info","message":"auth send jwt","requestID":"fa5784303c2b83e974a255c7c5ec6ad0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa5784303c2b83e974a255c7c5ec6ad0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa5784303c2b83e974a255c7c5ec6ad0"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"3d945daf-b3ad-4af4-b0ac-f1f037d701e4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.185429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7ef54b6-aaeb-4bc0-95d0-5b2202dfa915","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.1857111} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676001,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"fa5784303c2b83e974a255c7c5ec6ad0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707697,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5N30.bYxuTAbZoflTpV6BagIFsc3Lt0OfglBbNMPRPyjG28o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fa5784303c2b83e974a255c7c5ec6ad0","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:36.469994326Z"}]},"request_id":"257fd206-3fe7-4d0b-8e59-a51021cc4b83","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.192155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa5784303c2b83e974a255c7c5ec6ad0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335'","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335'","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa5784303c2b83e974a255c7c5ec6ad0"} device-1 | {"level":"info","message":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 200 17ms","method":"GET","requestID":"fa5784303c2b83e974a255c7c5ec6ad0","responseTime":17,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319? 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":"fa5784303c2b83e974a255c7c5ec6ad0"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"66165450-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7c2605f0d85188d80d29c1c6e01421f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"661e91b0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02f820e8-79ad-4236-93fc-2083bdd8c839","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.231048} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.818568,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"661e91b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"661e91b0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"661e91b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling 200 8ms","method":"POST","requestID":"661e91b0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"66208d80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eaf0b604-95ae-43d4-a589-f86194e8ce1d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707697.2447078} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66797,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"66208d80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"66208d80-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"66208d80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling 200 8ms","method":"POST","requestID":"66208d80-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling"} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/6bc4be31-393f-4f30-a896-5d9d6c154335' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"39c2c58dfe352da99ec99b20fb9d0fb3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"39c2c58dfe352da99ec99b20fb9d0fb3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2"},{"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/2597147d-db5d-4a86-b76b-e4f3cf5c2319"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"}}},"level":"info","message":"received a callback","requestID":"39c2c58dfe352da99ec99b20fb9d0fb3"} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"39c2c58dfe352da99ec99b20fb9d0fb3","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"39c2c58dfe352da99ec99b20fb9d0fb3"} device-1 | {"data":{"peerconnection":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"6bc4be31-393f-4f30-a896-5d9d6c154335","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/6bc4be31-393f-4f30-a896-5d9d6c154335' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2db32f3d46b0075a892c739b40d7a682","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2db32f3d46b0075a892c739b40d7a682","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/4936c768-9709-4127-bdfa-0b6568877bb2"},{"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/2597147d-db5d-4a86-b76b-e4f3cf5c2319"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"}}},"level":"info","message":"received a callback","requestID":"2db32f3d46b0075a892c739b40d7a682"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"675e1690-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bc4be31-393f-4f30-a896-5d9d6c154335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d56cd34c-9cab-41f3-9e7a-cf15027de285","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.328013} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.853312,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"675e1690-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"675e1690-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"675e1690-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335 200 12ms","method":"GET","requestID":"675e1690-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"2db32f3d46b0075a892c739b40d7a682","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"2db32f3d46b0075a892c739b40d7a682"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"676394d0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f272cd65-c9ce-42d0-b7ba-7721732cd17d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.364268} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.032203,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"676394d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","rebac_allow":false,"scope_allow":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":"676394d0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"676394d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling 200 14ms","method":"POST","requestID":"676394d0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67662ce0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19df2a52-043e-43be-a351-f78b9c5b3b2f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.3810298} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.06376,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67662ce0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","rebac_allow":false,"scope_allow":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":"67662ce0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67662ce0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling 200 15ms","method":"POST","requestID":"67662ce0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s","level":"info","message":"auth send jwt","requestID":"30d6838ea4699a04bd79092d7c9c2419"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"30d6838ea4699a04bd79092d7c9c2419","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","requestID":"30d6838ea4699a04bd79092d7c9c2419"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.184338,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"30d6838ea4699a04bd79092d7c9c2419","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707699,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30d6838ea4699a04bd79092d7c9c2419","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","requestID":"30d6838ea4699a04bd79092d7c9c2419"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30d6838ea4699a04bd79092d7c9c2419"} experiment-1 | {"level":"info","message":"GET /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd 200 17ms","method":"GET","requestID":"30d6838ea4699a04bd79092d7c9c2419","responseTime":17,"status":200,"url":"/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s","level":"info","message":"auth send jwt","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.296737,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707699,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Attempting to finish experiment","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.128305,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707699,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4936c768-9709-4127-bdfa-0b6568877bb2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2597147d-db5d-4a86-b76b-e4f3cf5c2319","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/6bc4be31-393f-4f30-a896-5d9d6c154335' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bc4be31-393f-4f30-a896-5d9d6c154335': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6bc4be31-393f-4f30-a896-5d9d6c154335","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"983e5ed2-5706-4d7a-83d6-4c6147d5baed","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.4742424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddb3fa1a-3acd-4fb5-9cca-4ddc155730aa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.474546} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eebfed888d3ff71508079c3f8a1cbf78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eebfed888d3ff71508079c3f8a1cbf78","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2"},{"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/2597147d-db5d-4a86-b76b-e4f3cf5c2319"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"}}},"level":"info","message":"received a callback","requestID":"eebfed888d3ff71508079c3f8a1cbf78"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6a9be59447ba9961f7466cf9d66b56c0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a9be59447ba9961f7466cf9d66b56c0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2"},{"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/2597147d-db5d-4a86-b76b-e4f3cf5c2319"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"}}},"level":"info","message":"received a callback","requestID":"6a9be59447ba9961f7466cf9d66b56c0"} device-1 | {"data":{"peerconnection":"6bc4be31-393f-4f30-a896-5d9d6c154335","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335 204 48ms","method":"DELETE","requestID":"6771ecb0-e346-11ef-bee8-fdb657b9cb09","responseTime":48,"status":204,"url":"/peerconnections/6bc4be31-393f-4f30-a896-5d9d6c154335"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"},"level":"info","message":"Successfully finished experiment","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"677c9b10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4936c768-9709-4127-bdfa-0b6568877bb2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b668841a-35d9-42fb-baec-9d6d0fe5ed07","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.530576} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.605511,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"677c9b10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2","object_type":"device","rebac_allow":false,"scope_allow":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":"677c9b10-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"677c9b10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling 200 16ms","method":"POST","requestID":"677c9b10-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/4936c768-9709-4127-bdfa-0b6568877bb2/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f278d54-21da-442f-b9ec-3c37684be8cd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f278d54-21da-442f-b9ec-3c37684be8cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"a0b787dc-0693-4bc8-a31e-1f568bba7ed7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.5396047} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"677fa850-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"193b6aea-7443-415e-a4a0-7726606d244f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.5402606} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2597147d-db5d-4a86-b76b-e4f3cf5c2319","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8d2572d-65cd-41a4-9c50-5a8927442b81","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.5478005} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.33882,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"677fa850-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319","object_type":"device","rebac_allow":false,"scope_allow":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":"677fa850-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"677fa850-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling 200 13ms","method":"POST","requestID":"677fa850-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/2597147d-db5d-4a86-b76b-e4f3cf5c2319/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3"} experiment-1 | {"level":"info","message":"DELETE /experiments/4f278d54-21da-442f-b9ec-3c37684be8cd 204 169ms","method":"DELETE","requestID":"72cc6d84d1ccf9a8fdf5bc7b4d0ea8e3","responseTime":169,"status":204,"url":"/experiments/4f278d54-21da-442f-b9ec-3c37684be8cd"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.638","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"33df96dedb4425346bd0560530873e3f"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.626","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"76a1db949a72eeb7aa98874a53bd2b2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"eebfed888d3ff71508079c3f8a1cbf78","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"eebfed888d3ff71508079c3f8a1cbf78"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"6a9be59447ba9961f7466cf9d66b56c0","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a9be59447ba9961f7466cf9d66b56c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s","level":"info","message":"auth send jwt","requestID":"2f0a169bf872afc1cefcc50d69ecff62"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2f0a169bf872afc1cefcc50d69ecff62","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2f0a169bf872afc1cefcc50d69ecff62"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4936c768-9709-4127-bdfa-0b6568877bb2' closed"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.121871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"2f0a169bf872afc1cefcc50d69ecff62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707699,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","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/2597147d-db5d-4a86-b76b-e4f3cf5c2319' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1a0fb721-7ed6-4f85-a6bc-d64ebecae2c0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6338074} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c16edd89-9e35-4ab9-900b-061fa648c0e4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6395676} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"dea0ddbb-1462-477b-99bc-1712626ca7cf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6496956} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79225056-824a-46ab-95c3-da80058ee38d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6500354} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"444f974c-ebf0-478a-bb09-c4cf6936ab75","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6545427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2f0a169bf872afc1cefcc50d69ecff62"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f0a169bf872afc1cefcc50d69ecff62"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"2f0a169bf872afc1cefcc50d69ecff62","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s","level":"info","message":"auth send jwt","requestID":"9675552d852e670961273c1063a42b8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9675552d852e670961273c1063a42b8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9675552d852e670961273c1063a42b8b"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801482,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9675552d852e670961273c1063a42b8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707699,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzY5OX0.uL8fHeBAW_Sj7U7glRTFlo3VN4M3oK9pFCA8n2tr73s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"76a85eed-f401-4717-a9cc-82bf836e2f4e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6780508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ac265c6-a273-42bf-a49d-9dc01c40e8b1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6828237} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"f3ba435c-e103-466c-ab47-2c2b6fbcf497","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6967103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c9da40b-6854-482f-93a3-1c5676426525","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.6968534} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"2e799c0e-b914-4a12-955d-a1b092a95d82","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707699.701144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9675552d852e670961273c1063a42b8b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9675552d852e670961273c1063a42b8b"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"9675552d852e670961273c1063a42b8b","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"33a5d4722009f022f5c59abe9277bae4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33a5d4722009f022f5c59abe9277bae4","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"8fd34af1f2beae821023783393b91203"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8fd34af1f2beae821023783393b91203","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"33a5d4722009f022f5c59abe9277bae4"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8fd34af1f2beae821023783393b91203"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794228,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"33a5d4722009f022f5c59abe9277bae4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"33a5d4722009f022f5c59abe9277bae4","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70589,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"8fd34af1f2beae821023783393b91203","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8fd34af1f2beae821023783393b91203","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"18acb1cc-9aee-462d-951d-db114e850611","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.1616552} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"33a5d4722009f022f5c59abe9277bae4","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"b363cdfa-4897-4f54-8670-36709ee0faa6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.162252} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8fd34af1f2beae821023783393b91203","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6cbe1c0-2f80-4c62-8107-6e476257d443","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.1659582} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"33a5d4722009f022f5c59abe9277bae4","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94cf8061-d0eb-477b-bbb2-3d510555e843","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.1670449} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8fd34af1f2beae821023783393b91203","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"401dc3cc-3781-4873-9ffa-fb9a6c6a2325","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.1698532} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8fd34af1f2beae821023783393b91203","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8fd34af1f2beae821023783393b91203"} device-1 | {"level":"info","message":"PATCH /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce 200 19ms","method":"PATCH","requestID":"8fd34af1f2beae821023783393b91203","responseTime":19,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8fd34af1f2beae821023783393b91203"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"b67218b7c7d05344e06d7b04d1c48bf3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b67218b7c7d05344e06d7b04d1c48bf3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b67218b7c7d05344e06d7b04d1c48bf3"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b67218b7c7d05344e06d7b04d1c48bf3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b67218b7c7d05344e06d7b04d1c48bf3","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"93eb3e75-9b37-4f67-8078-b38b3e151496","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.180649} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"33a5d4722009f022f5c59abe9277bae4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"33a5d4722009f022f5c59abe9277bae4"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0da066ac-5674-4fe0-9376-868730587fb7 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"33a5d4722009f022f5c59abe9277bae4"} device-1 | {"level":"info","message":"PATCH /devices/0da066ac-5674-4fe0-9376-868730587fb7 200 34ms","method":"PATCH","requestID":"33a5d4722009f022f5c59abe9277bae4","responseTime":34,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"4b2c0454f6e314bbcf6b80614c5913fd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b2c0454f6e314bbcf6b80614c5913fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4b2c0454f6e314bbcf6b80614c5913fd"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823408,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4b2c0454f6e314bbcf6b80614c5913fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4b2c0454f6e314bbcf6b80614c5913fd","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b67218b7c7d05344e06d7b04d1c48bf3"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"b67218b7c7d05344e06d7b04d1c48bf3"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/websocket 200 19ms","method":"POST","requestID":"b67218b7c7d05344e06d7b04d1c48bf3","responseTime":19,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4b2c0454f6e314bbcf6b80614c5913fd"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/websocket 200 18ms","method":"POST","requestID":"4b2c0454f6e314bbcf6b80614c5913fd","responseTime":18,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/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.11","requestID":"4b2c0454f6e314bbcf6b80614c5913fd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"a15b66c4486f19e5bf30e01589129106"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a15b66c4486f19e5bf30e01589129106","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a15b66c4486f19e5bf30e01589129106"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862186,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"a15b66c4486f19e5bf30e01589129106","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a15b66c4486f19e5bf30e01589129106","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"a8d5f691-aa0b-40b8-b529-d99379028545","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.2407405} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a15b66c4486f19e5bf30e01589129106","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a15b66c4486f19e5bf30e01589129106"} device-1 | {"level":"info","message":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? 200 13ms","method":"GET","requestID":"a15b66c4486f19e5bf30e01589129106","responseTime":13,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a15b66c4486f19e5bf30e01589129106"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"7d508a249f9df02809d18f8e3dcb87b0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d508a249f9df02809d18f8e3dcb87b0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7d508a249f9df02809d18f8e3dcb87b0"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811904,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7d508a249f9df02809d18f8e3dcb87b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7d508a249f9df02809d18f8e3dcb87b0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"6cf423a7-7d07-4f72-b2a5-75f75ffcf2a7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.2601583} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7d508a249f9df02809d18f8e3dcb87b0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7d508a249f9df02809d18f8e3dcb87b0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? 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":"7d508a249f9df02809d18f8e3dcb87b0"} device-1 | {"level":"info","message":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? 200 11ms","method":"GET","requestID":"7d508a249f9df02809d18f8e3dcb87b0","responseTime":11,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"393ac3236d4e0b5573256988d06ccb13"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"393ac3236d4e0b5573256988d06ccb13","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"393ac3236d4e0b5573256988d06ccb13"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.096405,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"393ac3236d4e0b5573256988d06ccb13","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"393ac3236d4e0b5573256988d06ccb13","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to run experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to book experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully booked experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815854,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753949,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"acb28d4b-d01e-4033-8194-32b3cfae946f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3137877} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"60f7aa4a-8bec-4bdd-b806-d648e69704b2","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.315039} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? 200 16ms","method":"GET","requestID":"67f3edf0-e346-11ef-bee8-fdb657b9cb09","responseTime":16,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? 200 15ms","method":"GET","requestID":"67f43c10-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Setting up experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully locked booking for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to update booking for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully updated booking for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully set up experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67fe7540-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully running experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.414919,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.032484,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"0e408f4b-3d38-49e1-a29c-c8571e81530e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3839831} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6687ec2d-03e6-4846-8156-6669b5a03d57","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3840456} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"b436fb3b-c9bf-4d07-bb2c-10a684fe855d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3852856} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.523125,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"67fe7540-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","rebac_allow":false,"scope_allow":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":"67fe7540-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba472c9f-eacb-4ee1-9046-0390ed232744#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba472c9f-eacb-4ee1-9046-0390ed232744","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"0bf09403-8dde-44c4-9945-d3907054ae30","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3903837} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? 200 20ms","method":"GET","requestID":"67fe4e30-e346-11ef-bee8-fdb657b9cb09","responseTime":20,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c527aaa2-7b9d-4e87-8463-b41061054334","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.3908553} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"393ac3236d4e0b5573256988d06ccb13","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67fe7540-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling 200 21ms","method":"POST","requestID":"67fe7540-e346-11ef-bee8-fdb657b9cb09","responseTime":21,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? 200 26ms","method":"GET","requestID":"67fe0010-e346-11ef-bee8-fdb657b9cb09","responseTime":26,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"680245d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"680293f0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"393ac3236d4e0b5573256988d06ccb13"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"752dc02d-b086-4fe2-b5ec-dc690a593500","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.4033542} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"393ac3236d4e0b5573256988d06ccb13","responseTime":134,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.529028,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"680245d0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"680245d0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54ef5532-d597-4293-bf95-e11425a9aac4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.405071} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.790073,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"680293f0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","rebac_allow":false,"scope_allow":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":"680293f0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"ee97bb7d68aa8000352acc8c5644fea0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee97bb7d68aa8000352acc8c5644fea0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"680245d0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling 200 13ms","method":"POST","requestID":"680245d0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ee97bb7d68aa8000352acc8c5644fea0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"680293f0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling 200 13ms","method":"POST","requestID":"680293f0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894804,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6804dde0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"ee97bb7d68aa8000352acc8c5644fea0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ee97bb7d68aa8000352acc8c5644fea0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.649664591Z"}]},"request_id":"16460429-234d-4e3a-8ead-2f65e0306ea7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.417695} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee97bb7d68aa8000352acc8c5644fea0","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e5b57f9-f5c5-4854-be45-ce8ca0cf449d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.417904} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.824317,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6804dde0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6804dde0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ee97bb7d68aa8000352acc8c5644fea0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? 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":"ee97bb7d68aa8000352acc8c5644fea0"} device-1 | {"level":"info","message":"GET /devices/0da066ac-5674-4fe0-9376-868730587fb7? 200 14ms","method":"GET","requestID":"ee97bb7d68aa8000352acc8c5644fea0","responseTime":14,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6804dde0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling 200 11ms","method":"POST","requestID":"6804dde0-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k","level":"info","message":"auth send jwt","requestID":"c4563d6065e17df3454fb903633ab18f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Building connection plan","requestID":"393ac3236d4e0b5573256988d06ccb13"} 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":"ffa80676-0093-428d-ab98-a5c9537528f1"},{"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":"1f075db1-7304-4683-bb6b-cb3ab4ecc93c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"edcfd394-16c0-4dd6-a1c0-db623a5b29c3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"393ac3236d4e0b5573256988d06ccb13"} 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/0da066ac-5674-4fe0-9376-868730587fb7"},{"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/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"393ac3236d4e0b5573256988d06ccb13"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c4563d6065e17df3454fb903633ab18f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4563d6065e17df3454fb903633ab18f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925854,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"c4563d6065e17df3454fb903633ab18f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c4563d6065e17df3454fb903633ab18f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.629123,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707700,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMH0.M18k6vIlTOXqAxr75srk6IFE1f5xp8uxKuPYAB4Fs1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:39.696674733Z"}]},"request_id":"6f3411bf-ff97-4952-8b38-5e925368a3b8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.4400504} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c4563d6065e17df3454fb903633ab18f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4563d6065e17df3454fb903633ab18f"} device-1 | {"level":"info","message":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? 200 16ms","method":"GET","requestID":"c4563d6065e17df3454fb903633ab18f","responseTime":16,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4563d6065e17df3454fb903633ab18f"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"1bfb8eba-3b50-4c99-bad3-224eb7b1fbb7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.4502525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"930bdaf8-b97f-4c48-868d-d95845bbf008","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.4503715} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c'","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c'","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"68079d00-e346-11ef-bee8-fdb657b9cb09"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"393ac3236d4e0b5573256988d06ccb13"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68100170-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41ec96c3-95f6-4331-ab42-cf035a1e88fa","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.4925153} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.084218,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"68100170-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"68100170-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68100170-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling 200 9ms","method":"POST","requestID":"68100170-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6811af20-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b66bdb22-9bcb-4cf8-8e74-dcacc793c1ce","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707700.5015697} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.221947,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6811af20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6811af20-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6811af20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling 200 7ms","method":"POST","requestID":"6811af20-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling"} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/9e06d047-51a2-468a-ab1c-8ca314423d8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"621967d98fb36351cc666f12c5c7e0c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"621967d98fb36351cc666f12c5c7e0c8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7"},{"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/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"}}},"level":"info","message":"received a callback","requestID":"621967d98fb36351cc666f12c5c7e0c8"} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"621967d98fb36351cc666f12c5c7e0c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"621967d98fb36351cc666f12c5c7e0c8","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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":"9e06d047-51a2-468a-ab1c-8ca314423d8c","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/9e06d047-51a2-468a-ab1c-8ca314423d8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3bfbc8472a7acb2f97e5c9b17ee281e0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3bfbc8472a7acb2f97e5c9b17ee281e0","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/0da066ac-5674-4fe0-9376-868730587fb7"},{"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/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"}}},"level":"info","message":"received a callback","requestID":"3bfbc8472a7acb2f97e5c9b17ee281e0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"694f1120-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e06d047-51a2-468a-ab1c-8ca314423d8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2413fd31-e146-4913-9fca-f6ed10b3d9a4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.583734} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.548022,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"694f1120-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c","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":"694f1120-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"694f1120-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c 200 10ms","method":"GET","requestID":"694f1120-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"3bfbc8472a7acb2f97e5c9b17ee281e0","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"3bfbc8472a7acb2f97e5c9b17ee281e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"695308c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca11870d-c2f4-44dd-93a2-8b763a62d3c9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.6093595} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.63939,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"695308c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"695308c0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"695308c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling 200 10ms","method":"POST","requestID":"695308c0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6954dd80-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f90d1ea7-e134-4955-ae7f-1a31f2d15f81","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.6215744} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.448715,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6954dd80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6954dd80-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6954dd80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling 200 10ms","method":"POST","requestID":"6954dd80-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs","level":"info","message":"auth send jwt","requestID":"4f17f66d4663aa489461315c857a5f02"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f17f66d4663aa489461315c857a5f02","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","requestID":"4f17f66d4663aa489461315c857a5f02"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.07922,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4f17f66d4663aa489461315c857a5f02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707702,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4f17f66d4663aa489461315c857a5f02","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","requestID":"4f17f66d4663aa489461315c857a5f02"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f17f66d4663aa489461315c857a5f02"} experiment-1 | {"level":"info","message":"GET /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744 200 13ms","method":"GET","requestID":"4f17f66d4663aa489461315c857a5f02","responseTime":13,"status":200,"url":"/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs","level":"info","message":"auth send jwt","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8c426e61210f15cf0b44bdddeaefbba","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.215304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d8c426e61210f15cf0b44bdddeaefbba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707702,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d8c426e61210f15cf0b44bdddeaefbba","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Attempting to finish experiment","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.167875,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707702,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0da066ac-5674-4fe0-9376-868730587fb7","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","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/9e06d047-51a2-468a-ab1c-8ca314423d8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e06d047-51a2-468a-ab1c-8ca314423d8c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9e06d047-51a2-468a-ab1c-8ca314423d8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"55a66fdd-a3e7-4d69-8105-915e66dfe720","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7262218} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3fcb4a67ae4389bdf268b381f38616c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3fcb4a67ae4389bdf268b381f38616c1","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e1516fd-214d-4b5e-b63b-6daff0b445d8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7268171} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d3033a1e70fb01b97046838ba9b61793","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/0da066ac-5674-4fe0-9376-868730587fb7"},{"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/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"}}},"level":"info","message":"received a callback","requestID":"3fcb4a67ae4389bdf268b381f38616c1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d3033a1e70fb01b97046838ba9b61793","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7"},{"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/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"}}},"level":"info","message":"received a callback","requestID":"d3033a1e70fb01b97046838ba9b61793"} device-1 | {"data":{"peerconnection":"9e06d047-51a2-468a-ab1c-8ca314423d8c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c 204 48ms","method":"DELETE","requestID":"6961fce0-e346-11ef-bee8-fdb657b9cb09","responseTime":48,"status":204,"url":"/peerconnections/9e06d047-51a2-468a-ab1c-8ca314423d8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"},"level":"info","message":"Successfully finished experiment","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"696d2070-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0da066ac-5674-4fe0-9376-868730587fb7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e60cd19b-1065-466e-af43-13839cdb2e05","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7812028} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.994482,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"696d2070-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7","object_type":"device","rebac_allow":false,"scope_allow":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":"696d2070-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"696d2070-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling 200 13ms","method":"POST","requestID":"696d2070-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/0da066ac-5674-4fe0-9376-868730587fb7/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba472c9f-eacb-4ee1-9046-0390ed232744': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba472c9f-eacb-4ee1-9046-0390ed232744","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"5736e009-2b59-4200-8294-ca0c76a163a8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7892027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4978f7e3-bc13-4e4d-8463-d2222d2c2af0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7904286} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"696f9170-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"d8c426e61210f15cf0b44bdddeaefbba","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c79a276-9e8a-452a-801b-4b562ffe7d22","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.7969563} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.69238,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"696f9170-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"696f9170-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"696f9170-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling 200 11ms","method":"POST","requestID":"696f9170-e346-11ef-bee8-fdb657b9cb09","responseTime":11,"status":200,"url":"/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8c426e61210f15cf0b44bdddeaefbba"} experiment-1 | {"level":"info","message":"DELETE /experiments/ba472c9f-eacb-4ee1-9046-0390ed232744 204 161ms","method":"DELETE","requestID":"d8c426e61210f15cf0b44bdddeaefbba","responseTime":161,"status":204,"url":"/experiments/ba472c9f-eacb-4ee1-9046-0390ed232744"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.638","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d20b7e60e602016943afceb0cdcee3ca"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.651","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"0e4043b04259c1d8379405f1895de206"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"3fcb4a67ae4389bdf268b381f38616c1","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"3fcb4a67ae4389bdf268b381f38616c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"d3033a1e70fb01b97046838ba9b61793","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"d3033a1e70fb01b97046838ba9b61793"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs","level":"info","message":"auth send jwt","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0dde9e74-3807-4cea-85ea-d9dfddd9e9ce' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.64827,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707702,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0da066ac-5674-4fe0-9376-868730587fb7' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04267a0d-0b33-4320-a8a0-816924204bd4","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.8735995} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb4b0edf-ea85-4de8-b207-5bda5992e9f1","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.8786442} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"a47a53a5-70e0-4047-8089-db1ef91c043b","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.891615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0878cc62-2e79-40ed-8581-395e0fde859e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.8919168} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.891584974Z"}]},"request_id":"8123edcd-9b5a-45ef-ae40-e1ba6097bfaf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.896575} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ce827e0daf5ed6e70e7b936723fdd0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs","level":"info","message":"auth send jwt","requestID":"b418cf120acebb2d7ac61d64cfd43100"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b418cf120acebb2d7ac61d64cfd43100"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.837355,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b418cf120acebb2d7ac61d64cfd43100","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707702,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwMn0.a9p6sWd83vXXr_AlCMlMiOfiKSiZ1xacTXoTO_ukkFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d3330aae-c910-4203-a80a-267d30e4ad8d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.9204776} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8d6c48a-0372-460f-b369-0ce9eeb49b4f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.9268663} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d99c3b70-eef1-48bb-82bb-028393e02757","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.9392097} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32d63a62-9296-4991-a04d-14425004c4b7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.9393868} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.939175030Z"}]},"request_id":"55fdeb38-e5da-464a-bee2-505432346708","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707702.951251} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b418cf120acebb2d7ac61d64cfd43100"} gateway-1 | {"time_local":"04/Feb/2025:22:21:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b418cf120acebb2d7ac61d64cfd43100"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b418cf120acebb2d7ac61d64cfd43100","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60905d1dd77c47947be39d8dab76717e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"60905d1dd77c47947be39d8dab76717e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/websocket 200 1ms","method":"OPTIONS","requestID":"60905d1dd77c47947be39d8dab76717e","responseTime":1,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/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":"60905d1dd77c47947be39d8dab76717e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNH0.MQcMrNRDvCsMOmeEnmkJJS3ALUfMyYLz1pce8qsEBW4","level":"info","message":"auth send jwt","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:44Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca5b38ed3cc7f38f494db7a83ef36485","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071306,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:44Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ca5b38ed3cc7f38f494db7a83ef36485","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707704,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNH0.MQcMrNRDvCsMOmeEnmkJJS3ALUfMyYLz1pce8qsEBW4"} gateway-1 | {"time_local":"04/Feb/2025:22:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3efc2486-d551-47d2-9778-95e09b73258e/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":"ca5b38ed3cc7f38f494db7a83ef36485"} device-1 | {"level":"info","message":"OPTIONS /devices/3efc2486-d551-47d2-9778-95e09b73258e/websocket 200 1ms","method":"OPTIONS","requestID":"ca5b38ed3cc7f38f494db7a83ef36485","responseTime":1,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNH0.MQcMrNRDvCsMOmeEnmkJJS3ALUfMyYLz1pce8qsEBW4","level":"info","message":"auth send jwt","requestID":"667acc1ecb98186bf51fd23039fd6a2c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"667acc1ecb98186bf51fd23039fd6a2c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"667acc1ecb98186bf51fd23039fd6a2c"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:44Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94064,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"667acc1ecb98186bf51fd23039fd6a2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707704,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNH0.MQcMrNRDvCsMOmeEnmkJJS3ALUfMyYLz1pce8qsEBW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"667acc1ecb98186bf51fd23039fd6a2c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/websocket 200 18ms","method":"POST","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9","responseTime":18,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d10e1e8d5bab9fc1a1c67214cb30ff9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"667acc1ecb98186bf51fd23039fd6a2c"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/websocket 200 19ms","method":"POST","requestID":"667acc1ecb98186bf51fd23039fd6a2c","responseTime":19,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/websocket"} gateway-1 | {"time_local":"04/Feb/2025:22:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/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":"667acc1ecb98186bf51fd23039fd6a2c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"88f1eca3d842463ab3a8a3e603f1b895"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88f1eca3d842463ab3a8a3e603f1b895","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88f1eca3d842463ab3a8a3e603f1b895"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002659,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"88f1eca3d842463ab3a8a3e603f1b895","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88f1eca3d842463ab3a8a3e603f1b895","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.891584974Z"}]},"request_id":"ab81b4c0-21dd-4cfd-9e4b-0e3b7a00e1cd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.018281} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"88f1eca3d842463ab3a8a3e603f1b895","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88f1eca3d842463ab3a8a3e603f1b895"} device-1 | {"level":"info","message":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 200 12ms","method":"GET","requestID":"88f1eca3d842463ab3a8a3e603f1b895","responseTime":12,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 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":"88f1eca3d842463ab3a8a3e603f1b895"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"b009516f20668c068bd2f5cddfb45476"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b009516f20668c068bd2f5cddfb45476","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b009516f20668c068bd2f5cddfb45476"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992579,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b009516f20668c068bd2f5cddfb45476","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b009516f20668c068bd2f5cddfb45476","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.939175030Z"}]},"request_id":"282a3f4b-c0eb-4138-b6d9-77ad6b658997","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.037613} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b009516f20668c068bd2f5cddfb45476","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b009516f20668c068bd2f5cddfb45476"} device-1 | {"level":"info","message":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 200 13ms","method":"GET","requestID":"b009516f20668c068bd2f5cddfb45476","responseTime":13,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 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":"b009516f20668c068bd2f5cddfb45476"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93078fd267d9ea9ef06ec9b4ebf97611","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.222836,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"93078fd267d9ea9ef06ec9b4ebf97611","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93078fd267d9ea9ef06ec9b4ebf97611","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to run experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to book experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully booked experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.758753,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.394443,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.891584974Z"}]},"request_id":"6670985e-e4b1-465b-9d44-abdb0e005b39","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.100798} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.939175030Z"}]},"request_id":"f7ea0bb6-0049-43ad-aaed-c7f329aaccf7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1023347} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 200 19ms","method":"GET","requestID":"6ace3710-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 200 19ms","method":"GET","requestID":"6ace8530-e346-11ef-bee8-fdb657b9cb09","responseTime":19,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Setting up experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully locked booking for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to update booking for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully updated booking for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully set up experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ada4500-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936044,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully running experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16145,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.202174,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3087604d-bb6f-4490-8fea-5785cd1c373f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1746335} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ada4500-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","rebac_allow":false,"scope_allow":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":"6ada4500-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ada4500-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling 200 15ms","method":"POST","requestID":"6ada4500-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.939175030Z"}]},"request_id":"85b0ce56-ac0d-4dad-ba48-fcd20e7cb241","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1837153} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.891584974Z"}]},"request_id":"591f34cb-0edb-4ae7-8f5f-679de127e9fd","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1858704} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6add0420-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"712c8da1-3435-4f52-9470-5c4a552c8757","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1922412} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80465d9e-eb2f-4582-886b-80e8ff7d3cac#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80465d9e-eb2f-4582-886b-80e8ff7d3cac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"be6b494a-73e1-4134-902d-60a1166f579f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.1928036} device-1 | {"level":"info","message":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 200 27ms","method":"GET","requestID":"6ad9f6e0-e346-11ef-bee8-fdb657b9cb09","responseTime":27,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 200 29ms","method":"GET","requestID":"6ad9cfd0-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a?"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332259,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6add0420-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","rebac_allow":false,"scope_allow":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":"6add0420-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ecdd410e-d63f-4bd0-bec8-6aa8d10425a5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.193261} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ade8ac0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"93078fd267d9ea9ef06ec9b4ebf97611","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6add0420-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling 200 15ms","method":"POST","requestID":"6add0420-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9880c725-05dc-4d7a-a91b-6aff84d32245","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2033265} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.712203,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ade8ac0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","rebac_allow":false,"scope_allow":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":"6ade8ac0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"93078fd267d9ea9ef06ec9b4ebf97611","responseTime":156,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ade8ac0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling 200 13ms","method":"POST","requestID":"6ade8ac0-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"88b4282c586209095cf71cd0099c05a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"88b4282c586209095cf71cd0099c05a8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ae0fbc0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88b4282c586209095cf71cd0099c05a8"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638611,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"88b4282c586209095cf71cd0099c05a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88b4282c586209095cf71cd0099c05a8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cb90e7e-407d-4de4-88fc-0a07cc6c0ce9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.216579} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.873879,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ae0fbc0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6ae0fbc0-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.891584974Z"}]},"request_id":"dffa2bb6-fe52-4669-9627-452018099547","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2205505} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ae0fbc0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling 200 9ms","method":"POST","requestID":"6ae0fbc0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"88b4282c586209095cf71cd0099c05a8","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Building connection plan","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"edcba1c3-5f19-4445-a175-fb94622cdacb"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9328d1e3-2ed3-4372-ba93-f183e2c944d4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"99e76add-22f4-4069-9adf-89d23dc54d09"}]},"level":"info","message":"Built pairwise service configurations","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88b4282c586209095cf71cd0099c05a8"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 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":"88b4282c586209095cf71cd0099c05a8"} device-1 | {"level":"info","message":"GET /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a? 200 11ms","method":"GET","requestID":"88b4282c586209095cf71cd0099c05a8","responseTime":11,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.722511,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.151057,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"bf8ea85e6d9d74f56ecc4480f7674a96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:42.939175030Z"}]},"request_id":"5da3026c-7d20-4959-8d07-433cfb34f3b8","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2387607} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"53a8c071-7875-4d09-9aad-df36b314e33f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2400556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd842f0b-6b14-4039-9282-b73fb50fdc39","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2403853} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 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":"bf8ea85e6d9d74f56ecc4480f7674a96"} device-1 | {"level":"info","message":"GET /devices/3efc2486-d551-47d2-9778-95e09b73258e? 200 13ms","method":"GET","requestID":"bf8ea85e6d9d74f56ecc4480f7674a96","responseTime":13,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f'","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f'","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} 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":"6ae345b0-e346-11ef-bee8-fdb657b9cb09","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":"6ae345b0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","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","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","device":"3efc2486-d551-47d2-9778-95e09b73258e","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/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"93078fd267d9ea9ef06ec9b4ebf97611"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6aeb8310-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d732ef2-8717-4cd1-b6b5-2ffe89da10ae","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2845707} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291047,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6aeb8310-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6aeb8310-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6aeb8310-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling 200 7ms","method":"POST","requestID":"6aeb8310-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling"} device-1 | {"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6aece2a0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47fd743a-74a0-4d1a-9a0f-23219a7af29f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.2943578} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.199359,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6aece2a0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6aece2a0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6aece2a0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling 200 8ms","method":"POST","requestID":"6aece2a0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling"} device-1 | {"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7671050796819067217 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:9sJE\r\na=ice-pwd:0LO/sNT6fa1gJMn3t7X7iTTj\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:72:15:B9:63:5F:E2:2D:2C:33:40:FE:F4:5C:46:D8:A3:AA:8A:C5:12:D0:50:D6:38:82:82:4E:F1:BA:95:D0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3993559341491927775 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:JBkm\r\na=ice-pwd:RakvsRBGj8YZYnFKqddaermt\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FB:D6:F5:05:F7:2D:0D:86:9E:5C:0A:44:BC:A0:33:2E:0A:1E:2F:74:C5:63:51:83:AC:38:5D:DA:72:22:94:93\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1976155075 1 udp 2113937151 d8446f45-bce6-4d43-9a0f-a854b0eaadef.local 33861 typ host generation 0 ufrag JBkm network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1891742875 1 udp 1677729535 141.24.211.56 33861 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag JBkm network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","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/4fb7541c-b412-4974-b1ac-d6824b1bb04a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a'"} device-1 | {"content":{"candidate":"candidate:2299653711 1 udp 2113937151 53b8445f-9b5d-4028-8954-7bc663ceb041.local 53634 typ host generation 0 ufrag 9sJE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2350506263 1 udp 1677729535 141.24.211.56 53634 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 9sJE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3efc2486-d551-47d2-9778-95e09b73258e","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/3efc2486-d551-47d2-9778-95e09b73258e'"} device-1 | {"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","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/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88e308cb1ac05c659ed39914d68b8bc2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88e308cb1ac05c659ed39914d68b8bc2","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/4fb7541c-b412-4974-b1ac-d6824b1bb04a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"}}},"level":"info","message":"received a callback","requestID":"88e308cb1ac05c659ed39914d68b8bc2"} device-1 | {"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3efc2486-d551-47d2-9778-95e09b73258e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"88e308cb1ac05c659ed39914d68b8bc2","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"88e308cb1ac05c659ed39914d68b8bc2"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","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/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4acac4dab3818b8ad9b9bfc959ba9b72","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4acac4dab3818b8ad9b9bfc959ba9b72","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/4fb7541c-b412-4974-b1ac-d6824b1bb04a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"}}},"level":"info","message":"received a callback","requestID":"4acac4dab3818b8ad9b9bfc959ba9b72"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6af79100-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42a9ba20-8e2d-4a21-ad85-18aee134616f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.3643434} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.190861,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6af79100-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","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":"6af79100-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6af79100-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f 200 7ms","method":"GET","requestID":"6af79100-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"4acac4dab3818b8ad9b9bfc959ba9b72","responseTime":25,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6afb1370-e346-11ef-bee8-fdb657b9cb09"} gateway-1 | {"time_local":"04/Feb/2025:22: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"4acac4dab3818b8ad9b9bfc959ba9b72"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"374e6386-26d7-437a-8689-a2d6cb83926a","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.386799} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.262346,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6afb1370-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6afb1370-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6afb1370-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling 200 7ms","method":"POST","requestID":"6afb1370-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6afc7300-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b24ab33-e2dd-4937-a69b-5b88ba385b6c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.3954966} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.242193,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6afc7300-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6afc7300-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6afc7300-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling 200 6ms","method":"POST","requestID":"6afc7300-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"d95b378ab4090ba9037cfdeac4f2147b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d95b378ab4090ba9037cfdeac4f2147b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","requestID":"d95b378ab4090ba9037cfdeac4f2147b"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.014353,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d95b378ab4090ba9037cfdeac4f2147b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d95b378ab4090ba9037cfdeac4f2147b","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","requestID":"d95b378ab4090ba9037cfdeac4f2147b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d95b378ab4090ba9037cfdeac4f2147b"} experiment-1 | {"level":"info","message":"GET /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac 200 15ms","method":"GET","requestID":"d95b378ab4090ba9037cfdeac4f2147b","responseTime":15,"status":200,"url":"/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"10bc28e40c383a7ff8a818196552fedd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"10bc28e40c383a7ff8a818196552fedd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","requestID":"10bc28e40c383a7ff8a818196552fedd"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.36398,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"10bc28e40c383a7ff8a818196552fedd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"10bc28e40c383a7ff8a818196552fedd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Attempting to finish experiment","requestID":"10bc28e40c383a7ff8a818196552fedd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.693352,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","device":"4fb7541c-b412-4974-b1ac-d6824b1bb04a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","device":"3efc2486-d551-47d2-9778-95e09b73258e","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/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"322701dac4488cdcb08770826481d4c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"322701dac4488cdcb08770826481d4c8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"3c94ff3f-b738-4179-9998-902d5dac3b28","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.490686} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e99ab61d7479c413c8eb81b00cec27aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/4fb7541c-b412-4974-b1ac-d6824b1bb04a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"}}},"level":"info","message":"received a callback","requestID":"322701dac4488cdcb08770826481d4c8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e62c3ec-d020-4326-8c39-0e3c0557f4f6","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.4910893} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e99ab61d7479c413c8eb81b00cec27aa","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"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/4fb7541c-b412-4974-b1ac-d6824b1bb04a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"}}},"level":"info","message":"received a callback","requestID":"e99ab61d7479c413c8eb81b00cec27aa"} device-1 | {"data":{"peerconnection":"3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f 204 30ms","method":"DELETE","requestID":"6b094440-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":204,"url":"/peerconnections/3ef8eee4-e940-4759-bf1c-bbf7a5b73b2f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"},"level":"info","message":"Successfully finished experiment","requestID":"10bc28e40c383a7ff8a818196552fedd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b102210-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fb7541c-b412-4974-b1ac-d6824b1bb04a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"382ce0ff-bfc1-4b10-a58e-83cd27417ba7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.528688} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.498263,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6b102210-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a","object_type":"device","rebac_allow":false,"scope_allow":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":"6b102210-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b102210-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling 200 14ms","method":"POST","requestID":"6b102210-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/4fb7541c-b412-4974-b1ac-d6824b1bb04a/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80465d9e-eb2f-4582-886b-80e8ff7d3cac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80465d9e-eb2f-4582-886b-80e8ff7d3cac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"fb269176-ecd8-404c-9e66-c4f95ff8299d","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.5356019} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80d5ef02-41df-442c-a802-5ee2d93777a9","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.5359457} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6b129310-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"10bc28e40c383a7ff8a818196552fedd","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3efc2486-d551-47d2-9778-95e09b73258e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a87ba6e-29e9-4ac4-8562-fb406e711485","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.5413878} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773186,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6b129310-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b129310-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6b129310-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling 200 9ms","method":"POST","requestID":"6b129310-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/devices/3efc2486-d551-47d2-9778-95e09b73258e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac","requestID":"10bc28e40c383a7ff8a818196552fedd"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10bc28e40c383a7ff8a818196552fedd"} experiment-1 | {"level":"info","message":"DELETE /experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac 204 131ms","method":"DELETE","requestID":"10bc28e40c383a7ff8a818196552fedd","responseTime":131,"status":204,"url":"/experiments/80465d9e-eb2f-4582-886b-80e8ff7d3cac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 103ms","method":"POST","requestID":"322701dac4488cdcb08770826481d4c8","responseTime":103,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.106","http_referrer":"","http_user_agent":"node-fetch","requestID":"322701dac4488cdcb08770826481d4c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 103ms","method":"POST","requestID":"e99ab61d7479c413c8eb81b00cec27aa","responseTime":103,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"e99ab61d7479c413c8eb81b00cec27aa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"89b8341b67ca555b75c829547c3a1607"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89b8341b67ca555b75c829547c3a1607","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"89b8341b67ca555b75c829547c3a1607"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.975407,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.626","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7c8472f0cfd2e77088575ea8f9ae2047"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"89b8341b67ca555b75c829547c3a1607","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.617","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d08539ef40fa6bdc1c3056f168c1dc80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","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/4fb7541c-b412-4974-b1ac-d6824b1bb04a' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3efc2486-d551-47d2-9778-95e09b73258e' 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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b148b6b3-fcee-4e31-a072-5b9e2fde5824","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.619822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd741b3a-aca8-46b6-834f-1ce829b0855c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6238804} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"d816cebe-f7c5-4ada-b3cb-17589f43bc76","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6327133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d13d2c-3e61-41db-b7b6-338cdd8c5a4e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6330137} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.632666436Z"}]},"request_id":"8b2a27f9-7b9d-440a-9356-541e31738c21","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6360736} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89b8341b67ca555b75c829547c3a1607"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"89b8341b67ca555b75c829547c3a1607","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89b8341b67ca555b75c829547c3a1607"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo","level":"info","message":"auth send jwt","requestID":"0f65f4061ba80845d838436eba68342b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f65f4061ba80845d838436eba68342b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0f65f4061ba80845d838436eba68342b"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.921471,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"0f65f4061ba80845d838436eba68342b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707705,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwNX0.cq6CaJXUdH4y-UO5i_gY9f0kCjB-AxSLf5mrckFfHeo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f39809d0-f2ea-4581-9805-c55d640aba59","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6589522} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","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:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e87acca9-6fe0-4a9f-a407-954f05291686","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6626148} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"0c056825-6823-47d5-af70-552076ea422e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6743588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3dfa8ea-8c90-490a-b70c-ad2dfb0de6ec","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.6744401} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"699178cf-fc1f-4b39-8793-e5c8a3fb0721","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707705.677565} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0f65f4061ba80845d838436eba68342b"} gateway-1 | {"time_local":"04/Feb/2025:22: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.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f65f4061ba80845d838436eba68342b"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"0f65f4061ba80845d838436eba68342b","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36d65ed755f08af1a551fad1d08ef40e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36d65ed755f08af1a551fad1d08ef40e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/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":"36d65ed755f08af1a551fad1d08ef40e"} device-1 | {"level":"info","message":"OPTIONS /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/websocket 200 1ms","method":"OPTIONS","requestID":"36d65ed755f08af1a551fad1d08ef40e","responseTime":1,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64","level":"info","message":"auth send jwt","requestID":"839d6f06d58aaa325230942f8dfd9d7c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"839d6f06d58aaa325230942f8dfd9d7c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"839d6f06d58aaa325230942f8dfd9d7c"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299687,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"839d6f06d58aaa325230942f8dfd9d7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"839d6f06d58aaa325230942f8dfd9d7c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"839d6f06d58aaa325230942f8dfd9d7c"} gateway-1 | {"time_local":"04/Feb/2025:22:21:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/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":"839d6f06d58aaa325230942f8dfd9d7c"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/websocket 200 21ms","method":"POST","requestID":"839d6f06d58aaa325230942f8dfd9d7c","responseTime":21,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64","level":"info","message":"auth send jwt","requestID":"935dff82c3e28b0964db3588e0341c71"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"935dff82c3e28b0964db3588e0341c71","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"935dff82c3e28b0964db3588e0341c71"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099514,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"935dff82c3e28b0964db3588e0341c71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"935dff82c3e28b0964db3588e0341c71","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"bbdb7b4e-872f-4651-aee8-def3099ee31e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.7402868} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"935dff82c3e28b0964db3588e0341c71","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"935dff82c3e28b0964db3588e0341c71"} device-1 | {"level":"info","message":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 200 14ms","method":"GET","requestID":"935dff82c3e28b0964db3588e0341c71","responseTime":14,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046?"} gateway-1 | {"time_local":"04/Feb/2025:22:21:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 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":"935dff82c3e28b0964db3588e0341c71"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64","level":"info","message":"auth send jwt","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e0a1cacd3d42843e67fbba269c0cc89","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.051397,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"4e0a1cacd3d42843e67fbba269c0cc89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e0a1cacd3d42843e67fbba269c0cc89","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to run experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to book experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully booked experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662357,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898971,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3f2e76-ce88-400a-b674-a9f814e4b449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.632666436Z"}]},"request_id":"9511ff78-6700-40e7-abed-61807a6cb64e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.799798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"588168e8-82e7-403b-98d1-79bd092a33c7","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.8005567} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/7b3f2e76-ce88-400a-b674-a9f814e4b449? 200 12ms","method":"GET","requestID":"6c6aa900-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 200 13ms","method":"GET","requestID":"6c6ad010-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Setting up experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.162061,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"2dd66d9a-a341-45a5-a49b-013c983b89c5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.857123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1f7eb16-fd39-402d-9ada-31bc4a148471","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.8573744} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4' to 'http://localhost/callbacks/experiment'","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09"} authentication-1 | {"level":"info","message":"POST /token 201 20ms","method":"POST","requestID":"6c761ab0-e346-11ef-beff-918166e29391","responseTime":20,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/7b3f2e76-ce88-400a-b674-a9f814e4b449?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 69ms","method":"POST","requestID":"6c6fb210-e346-11ef-bee8-fdb657b9cb09","responseTime":69,"status":201,"url":"/devices/7b3f2e76-ce88-400a-b674-a9f814e4b449?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully set up experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6c824fb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:46614","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326076,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully running experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51840","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291406,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a4d1817-f9f3-4d0f-8028-4b4fae51acb3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.9580884} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.361364,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c824fb0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","rebac_allow":false,"scope_allow":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":"6c824fb0-e346-11ef-bee8-fdb657b9cb09","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:47.857098329Z"}]},"request_id":"4ff8a841-4499-4ae1-97a0-5bd284676b41","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.96168} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"71075619-d62a-473d-8b22-f085198e5073","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.9655304} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"9fc448c1-f0be-400b-b4e1-fecb8828f2f5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.9744866} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device a9d1d33a-3203-47e0-9f80-16c013afd1c4","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device a9d1d33a-3203-47e0-9f80-16c013afd1c4\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/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"6c824fb0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2a93282-53e1-4730-b2e8-f0f9faeb6cd0","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.9749963} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling 404 29ms","method":"POST","requestID":"6c824fb0-e346-11ef-bee8-fdb657b9cb09","responseTime":29,"status":404,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device a9d1d33a-3203-47e0-9f80-16c013afd1c4"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"4e0a1cacd3d42843e67fbba269c0cc89","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6c8758c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4? 200 39ms","method":"GET","requestID":"6c81da80-e346-11ef-bee8-fdb657b9cb09","responseTime":39,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 200 40ms","method":"GET","requestID":"6c820190-e346-11ef-bee8-fdb657b9cb09","responseTime":40,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046?"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f69f1bd-91ec-47ef-9e35-a69f561d0d22","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707707.9880354} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.196175,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6c8758c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","rebac_allow":false,"scope_allow":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":"6c8758c0-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","user":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} gateway-1 | {"time_local":"04/Feb/2025:22:21:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"level":"info","message":"POST /experiments? 201 240ms","method":"POST","requestID":"4e0a1cacd3d42843e67fbba269c0cc89","responseTime":240,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6c8758c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling 200 15ms","method":"POST","requestID":"6c8758c0-e346-11ef-bee8-fdb657b9cb09","responseTime":15,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df5cbe94a18bc4c38f16819af3d34a9e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"df5cbe94a18bc4c38f16819af3d34a9e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:22:21:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/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":"df5cbe94a18bc4c38f16819af3d34a9e"} device-1 | {"level":"info","message":"OPTIONS /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/websocket 200 2ms","method":"OPTIONS","requestID":"df5cbe94a18bc4c38f16819af3d34a9e","responseTime":2,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IkdjWVhCandsZGJLU2k2TnZMUlBickNaNV9Rd3ptdS1MWHhrTUEwOURETWM3ZkU3dmx4TlhsYTFWeW5ITGg4dWpkc2NRQ0ZDeXBsYS03RkZKX1lfQzlBIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.NGAWY3UKqMCWtdo12tzBoHGRy1HtQ8hjmOyGOc0JmDs","level":"info","message":"auth send jwt","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269913,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","payload":{"admin":true,"edgeToken":"GcYXBjwldbKSi6NvLRPbrCZ5_Qwzmu-LXxkMA09DDMc7fE7vlxNXla1VynHLh8ujdscQCFCypla-7FFJ_Y_C9A","iat":1738707710,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IkdjWVhCandsZGJLU2k2TnZMUlBickNaNV9Rd3ptdS1MWHhrTUEwOURETWM3ZkU3dmx4TlhsYTFWeW5ITGg4dWpkc2NRQ0ZDeXBsYS03RkZKX1lfQzlBIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.NGAWY3UKqMCWtdo12tzBoHGRy1HtQ8hjmOyGOc0JmDs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2"} gateway-1 | {"time_local":"04/Feb/2025:22:21:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/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":"b6db032d7ff6ebe3c53c4ea2f51ae7f2"} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/websocket 200 19ms","method":"POST","requestID":"b6db032d7ff6ebe3c53c4ea2f51ae7f2","responseTime":19,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d63a2042ed052f33d35d57bfa2bbe5e7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d63a2042ed052f33d35d57bfa2bbe5e7","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/a9d1d33a-3203-47e0-9f80-16c013afd1c4"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"d63a2042ed052f33d35d57bfa2bbe5e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.18BDLviP85zncm9H8DhQ3xARpgTALHinVv3pp3bK2nE","level":"info","message":"auth send jwt","requestID":"17bcbf9252a5813095158599bd48d64f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17bcbf9252a5813095158599bd48d64f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17bcbf9252a5813095158599bd48d64f"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27139,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"17bcbf9252a5813095158599bd48d64f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707710,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.18BDLviP85zncm9H8DhQ3xARpgTALHinVv3pp3bK2nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17bcbf9252a5813095158599bd48d64f","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:47.857098329Z"}]},"request_id":"3b09b85b-e45c-4181-868e-353b11aefe45","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707710.0743783} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"17bcbf9252a5813095158599bd48d64f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17bcbf9252a5813095158599bd48d64f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 20ms","method":"POST","requestID":"d63a2042ed052f33d35d57bfa2bbe5e7","responseTime":20,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21: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.024","http_referrer":"","http_user_agent":"node-fetch","requestID":"d63a2042ed052f33d35d57bfa2bbe5e7"} gateway-1 | {"time_local":"04/Feb/2025:22:21:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17bcbf9252a5813095158599bd48d64f"} device-1 | {"level":"info","message":"GET /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4? 200 17ms","method":"GET","requestID":"17bcbf9252a5813095158599bd48d64f","responseTime":17,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.18BDLviP85zncm9H8DhQ3xARpgTALHinVv3pp3bK2nE","level":"info","message":"auth send jwt","requestID":"d161dd50378ed71cca758823bea8a8f6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d161dd50378ed71cca758823bea8a8f6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d161dd50378ed71cca758823bea8a8f6"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221022,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"d161dd50378ed71cca758823bea8a8f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707710,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxMH0.18BDLviP85zncm9H8DhQ3xARpgTALHinVv3pp3bK2nE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d161dd50378ed71cca758823bea8a8f6","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"edd16019-a73f-4d33-8454-bf1bcda4f355","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707710.0985487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d161dd50378ed71cca758823bea8a8f6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d161dd50378ed71cca758823bea8a8f6"} gateway-1 | {"time_local":"04/Feb/2025:22:21:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 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":"d161dd50378ed71cca758823bea8a8f6"} device-1 | {"level":"info","message":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 200 15ms","method":"GET","requestID":"d161dd50378ed71cca758823bea8a8f6","responseTime":15,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57342","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211512,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.425628,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:47.857098329Z"}]},"request_id":"281e3d0c-0f8a-4884-a379-611ac9a96741","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.006426} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09","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:59906","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"},"timestamp":"2025-02-04T22:21:45.674335483Z"}]},"request_id":"9ee4a5eb-c9ad-4c74-a957-40c5075b7612","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.0115373} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4? 200 18ms","method":"GET","requestID":"6f846c20-e346-11ef-bee8-fdb657b9cb09","responseTime":18,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046? 200 22ms","method":"GET","requestID":"6f84ba40-e346-11ef-bee8-fdb657b9cb09","responseTime":22,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6f888ad0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9a88fe4-0a42-402e-972e-746a189a4a9e","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.028809} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.270652,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f888ad0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","rebac_allow":false,"scope_allow":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":"6f888ad0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6f888ad0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling 200 14ms","method":"POST","requestID":"6f888ad0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6f8b22e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3e5b7ec-9786-4534-abe3-dc92860e5856","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.0457387} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.104503,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f8b22e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","rebac_allow":false,"scope_allow":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":"6f8b22e0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6f8b22e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling 200 14ms","method":"POST","requestID":"6f8b22e0-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Building connection plan","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"96e80d77-c3b0-4ea9-98fe-202c094067a3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"67f7387c-895c-47be-acc9-f56c509266b0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"97be8839-1e35-4a4e-bd38-5a3396e6847f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.156269,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707707,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcwN30.f_suwDDbYuAJ6CVGEQurHhfnLieUWyFKmrrGwakzz64"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","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%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]}},"raw_response":{},"request_id":"224737f6-f25b-4357-86ea-c669bf643081","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.07271} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43099aeb-97bb-440a-96c4-b2736693480c","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.0734665} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6'","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6'","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"6f8de200-e346-11ef-bee8-fdb657b9cb09","responseTime":36,"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":"6f8de200-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","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","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","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/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4e0a1cacd3d42843e67fbba269c0cc89"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6f981b30-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d7a7091-1335-49f2-84d9-824edbeb1fdf","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.1279228} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.878255,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f981b30-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6f981b30-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6f981b30-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling 200 8ms","method":"POST","requestID":"6f981b30-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6f99c8e0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba1e43d9-dcb4-4060-bfbc-9089a4b7c387","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.1382031} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473139,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6f99c8e0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f99c8e0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6f99c8e0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling 200 8ms","method":"POST","requestID":"6f99c8e0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling"} device-1 | {"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1791156619459717125 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:+UvT\r\na=ice-pwd:6Gi7+WIbLkk96Y4XPfJnrUeH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AB:5E:DC:DA:41:70:0F:AE:67:E9:92:0E:9B:75:A1:39:13:E5:F7:03:F5:27:DB:5A:65:B0:72:71:D9:FE:9E:D4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1545480237097043060 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:W1Li\r\na=ice-pwd:pwYE5feXObXwy5CO1bc9/+HG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0C:85:D6:64:CA:E8:7A:E3:71:D9:31:BA:AA:51:92:D8:C8:32:B0:C0:C2:1F:FF:0B:05:CB:A8:94:60:6C:81:17\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3449091420 1 udp 2113937151 05f4d046-e922-41f0-b64a-3061316ea3fa.local 48489 typ host generation 0 ufrag W1Li network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4175568657 1 udp 1677729535 141.24.211.56 48489 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag W1Li network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","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/d6fd6c3e-2b31-47a2-9448-e19c428aa046'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046'"} device-1 | {"content":{"candidate":"candidate:3920989890 1 udp 2113937151 85d13837-503b-4cb9-a73f-28ccc49f172b.local 47774 typ host generation 0 ufrag +UvT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3790456069 1 udp 1677729535 141.24.211.56 47774 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag +UvT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","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/a9d1d33a-3203-47e0-9f80-16c013afd1c4'"} device-1 | {"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","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/ca6bb417-b669-446b-89d2-716005644dd6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca6bb417-b669-446b-89d2-716005644dd6","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e95c2b6ded7fcb5035fe116b93e3cf67","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"}}},"level":"info","message":"received a callback","requestID":"e95c2b6ded7fcb5035fe116b93e3cf67"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e95c2b6ded7fcb5035fe116b93e3cf67","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"e95c2b6ded7fcb5035fe116b93e3cf67","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"e95c2b6ded7fcb5035fe116b93e3cf67"} device-1 | {"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"ca6bb417-b669-446b-89d2-716005644dd6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ca6bb417-b669-446b-89d2-716005644dd6","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/ca6bb417-b669-446b-89d2-716005644dd6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca6bb417-b669-446b-89d2-716005644dd6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67a3ff8a71840a419bb3f83ba3c6539a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"67a3ff8a71840a419bb3f83ba3c6539a","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/d6fd6c3e-2b31-47a2-9448-e19c428aa046"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"}}},"level":"info","message":"received a callback","requestID":"67a3ff8a71840a419bb3f83ba3c6539a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6fa86ee0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca6bb417-b669-446b-89d2-716005644dd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61e8c742-0988-4655-8e3e-6f5982b2114f","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.235059} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.978653,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fa86ee0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","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":"6fa86ee0-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6fa86ee0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"GET /peerconnections/ca6bb417-b669-446b-89d2-716005644dd6 200 8ms","method":"GET","requestID":"6fa86ee0-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"67a3ff8a71840a419bb3f83ba3c6539a","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"67a3ff8a71840a419bb3f83ba3c6539a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6faba330-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4b25a98-b876-4027-9b9e-bc4f7514c777","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.2548518} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253796,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6faba330-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6faba330-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6faba330-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling 200 7ms","method":"POST","requestID":"6faba330-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6fad02c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c63e04a-6924-4cc7-adc0-f7fffdf46006","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.2640595} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.252334,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fad02c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6fad02c0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6fad02c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling 200 7ms","method":"POST","requestID":"6fad02c0-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"status":200,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w","level":"info","message":"auth send jwt","requestID":"b324e6d2f63e068cc3ec140c5713bc48"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b324e6d2f63e068cc3ec140c5713bc48","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","requestID":"b324e6d2f63e068cc3ec140c5713bc48"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.15283,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"b324e6d2f63e068cc3ec140c5713bc48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707713,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b324e6d2f63e068cc3ec140c5713bc48","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","requestID":"b324e6d2f63e068cc3ec140c5713bc48"} experiment-1 | {"level":"info","message":"GET /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b 200 12ms","method":"GET","requestID":"b324e6d2f63e068cc3ec140c5713bc48","responseTime":12,"status":200,"url":"/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b324e6d2f63e068cc3ec140c5713bc48"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w","level":"info","message":"auth send jwt","requestID":"6be528e8e0386bf3dc651790c83c7a17"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6be528e8e0386bf3dc651790c83c7a17","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","requestID":"6be528e8e0386bf3dc651790c83c7a17"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.671944,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6be528e8e0386bf3dc651790c83c7a17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"experiment:http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","object_type":"experiment","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707713,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6be528e8e0386bf3dc651790c83c7a17","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Attempting to finish experiment","requestID":"6be528e8e0386bf3dc651790c83c7a17"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.094738,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"peerconnection:http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707713,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","device":"a9d1d33a-3203-47e0-9f80-16c013afd1c4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6","device":"d6fd6c3e-2b31-47a2-9448-e19c428aa046","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/ca6bb417-b669-446b-89d2-716005644dd6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca6bb417-b669-446b-89d2-716005644dd6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca6bb417-b669-446b-89d2-716005644dd6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca6bb417-b669-446b-89d2-716005644dd6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"0f81b154-8c28-47ca-98eb-fc76a031e719","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.3527434} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fed86433-8da9-40a3-99ad-697e03d45ae5","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.3528857} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b8ae0d9d2993e7121345862b75ecc7f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b8ae0d9d2993e7121345862b75ecc7f0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5d78e2ced6a81c262bd5121dfce494c0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d6fd6c3e-2b31-47a2-9448-e19c428aa046"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"}}},"level":"info","message":"received a callback","requestID":"b8ae0d9d2993e7121345862b75ecc7f0"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5d78e2ced6a81c262bd5121dfce494c0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"}}},"level":"info","message":"received a callback","requestID":"5d78e2ced6a81c262bd5121dfce494c0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /peerconnections/ca6bb417-b669-446b-89d2-716005644dd6 204 36ms","method":"DELETE","requestID":"6fb84d60-e346-11ef-bee8-fdb657b9cb09","responseTime":36,"status":204,"url":"/peerconnections/ca6bb417-b669-446b-89d2-716005644dd6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738737,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","payload":{"admin":true,"edgeToken":"626_vOulopVcim60bIk6U2HB_javQmKCkUNPytmFPB90FWYfPIyItoJ3IS4Kp4Ul7SM4Dl4A7j3WHHMIXNFKYg","iat":1738707713,"sub":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292","subject_alt":"http://localhost/users/be8bc006-fb84-4067-af0a-2a5faf22f292"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlOGJjMDA2LWZiODQtNDA2Ny1hZjBhLTJhNWZhZjIyZjI5MiIsImVkZ2VUb2tlbiI6IjYyNl92T3Vsb3BWY2ltNjBiSWs2VTJIQl9qYXZRbUtDa1VOUHl0bUZQQjkwRldZZlBJeUl0b0ozSVM0S3A0VWw3U000RGw0QTdqM1dISE1JWE5GS1lnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODcwNzcxM30.FPm32Y380Q6NLnfldHdNoVsK2dP1Sg9NL9IB3XGAt5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"e3c0a063-d04c-49b8-90a8-4a7e6f556030","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.3865154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e722d885-aedf-470f-a002-b79049b6cc82","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.3867261} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"DELETE /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4 204 30ms","method":"DELETE","requestID":"6fbe19c0-e346-11ef-bee8-fdb657b9cb09","responseTime":30,"status":204,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"},"level":"info","message":"Successfully finished experiment","requestID":"6be528e8e0386bf3dc651790c83c7a17"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6fc60900-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6fd6c3e-2b31-47a2-9448-e19c428aa046","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc8de7dd-5e12-4404-af9c-481add717563","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.4312925} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.022534,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fc60900-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046","object_type":"device","rebac_allow":false,"scope_allow":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":"6fc60900-e346-11ef-bee8-fdb657b9cb09","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6fc60900-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling 200 14ms","method":"POST","requestID":"6fc60900-e346-11ef-bee8-fdb657b9cb09","responseTime":14,"status":200,"url":"/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046/signaling"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe8bc006-fb84-4067-af0a-2a5faf22f292"}]},"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","writes":null},"raw_response":{},"request_id":"00168ee9-755c-40e8-ba2c-5f5e1d1d0cd3","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.4396532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store_id":"01JK9GRP5GZSP39XDCDH15CG7S"},"raw_response":{"authorization_model":{"id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b311365-0496-4179-afae-249cab6fd3ac","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.4402816} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6fc8c820-e346-11ef-bee8-fdb657b9cb09"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"6be528e8e0386bf3dc651790c83c7a17","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:59906","raw_request":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","contextual_tuples":null,"store_id":"01JK9GRP5GZSP39XDCDH15CG7S","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9d1d33a-3203-47e0-9f80-16c013afd1c4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0f998be-bfbc-41a3-967b-e6336fee24eb","store_id":"01JK9GRP5GZSP39XDCDH15CG7S","subsystem":"openfga","timestamp":1738707713.4486098} authorization-1 | {"client_addr":"127.0.0.1:57260","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.665356,"resp_status":200,"subsystem":"opa","time":"2025-02-04T22:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","openfga":{"authorization_model_id":"01JK9GRP6F4XN3SSPGRGQE6S0Q","store":"01JK9GRP5GZSP39XDCDH15CG7S"},"requestID":"6fc8c820-e346-11ef-bee8-fdb657b9cb09","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4","object_type":"device","rebac_allow":false,"scope_allow":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":"6fc8c820-e346-11ef-bee8-fdb657b9cb09","responseTime":7,"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/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"6fc8c820-e346-11ef-bee8-fdb657b9cb09"} device-1 | {"level":"info","message":"POST /devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/signaling 404 13ms","method":"POST","requestID":"6fc8c820-e346-11ef-bee8-fdb657b9cb09","responseTime":13,"status":404,"url":"/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4/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":"6be528e8e0386bf3dc651790c83c7a17"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b","requestID":"6be528e8e0386bf3dc651790c83c7a17"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6be528e8e0386bf3dc651790c83c7a17"} experiment-1 | {"level":"info","message":"DELETE /experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b 204 183ms","method":"DELETE","requestID":"6be528e8e0386bf3dc651790c83c7a17","responseTime":183,"status":204,"url":"/experiments/2e3dec81-3e19-4818-a8c4-b6ec0e1e4e5b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"b8ae0d9d2993e7121345862b75ecc7f0","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"b8ae0d9d2993e7121345862b75ecc7f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"5d78e2ced6a81c262bd5121dfce494c0","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d78e2ced6a81c262bd5121dfce494c0"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"5.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":"3258de59f8ce4cf72e086882cbbd4a73"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.470","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7cfc95d64cc7ab4f67293bd541add7dc"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a9d1d33a-3203-47e0-9f80-16c013afd1c4' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d6fd6c3e-2b31-47a2-9448-e19c428aa046' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1659b0d99836c6c9771670b78c47fb8b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1659b0d99836c6c9771670b78c47fb8b","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/a9d1d33a-3203-47e0-9f80-16c013afd1c4"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"1659b0d99836c6c9771670b78c47fb8b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"1659b0d99836c6c9771670b78c47fb8b","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:22:21:53 +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":"1659b0d99836c6c9771670b78c47fb8b"} device-1 exited with code 143 authorization-1 exited with code 0 authentication-1 exited with code 143 experiment-1 exited with code 143 federation-1 exited with code 143 gateway-1 exited with code 0